| author | wenzelm | 
| Fri, 05 Aug 2022 13:23:52 +0200 | |
| changeset 75760 | f8be63d2ec6f | 
| parent 74362 | 0135a0c77b64 | 
| permissions | -rw-r--r-- | 
| 63627 | 1 | (* Title: HOL/Analysis/Complete_Measure.thy | 
| 40859 | 2 | Author: Robert Himmelmann, Johannes Hoelzl, TU Muenchen | 
| 3 | *) | |
| 69447 | 4 | section \<open>Complete Measures\<close> | 
| 40859 | 5 | theory Complete_Measure | 
| 63626 
44ce6b524ff3
move measure theory from HOL-Probability to HOL-Multivariate_Analysis
 hoelzl parents: 
62975diff
changeset | 6 | imports Bochner_Integration | 
| 40859 | 7 | begin | 
| 8 | ||
| 70136 | 9 | locale\<^marker>\<open>tag important\<close> complete_measure = | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 10 | fixes M :: "'a measure" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 11 | assumes complete: "\<And>A B. B \<subseteq> A \<Longrightarrow> A \<in> null_sets M \<Longrightarrow> B \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 12 | |
| 70136 | 13 | definition\<^marker>\<open>tag important\<close> | 
| 47694 | 14 |   "split_completion M A p = (if A \<in> sets M then p = (A, {}) else
 | 
| 15 |    \<exists>N'. A = fst p \<union> snd p \<and> fst p \<inter> snd p = {} \<and> fst p \<in> sets M \<and> snd p \<subseteq> N' \<and> N' \<in> null_sets M)"
 | |
| 41689 
3e39b0e730d6
the measure valuation is again part of the measure_space type, instead of an explicit parameter to the locale;
 hoelzl parents: 
41097diff
changeset | 16 | |
| 70136 | 17 | definition\<^marker>\<open>tag important\<close> | 
| 47694 | 18 | "main_part M A = fst (Eps (split_completion M A))" | 
| 41689 
3e39b0e730d6
the measure valuation is again part of the measure_space type, instead of an explicit parameter to the locale;
 hoelzl parents: 
41097diff
changeset | 19 | |
| 70136 | 20 | definition\<^marker>\<open>tag important\<close> | 
| 47694 | 21 | "null_part M A = snd (Eps (split_completion M A))" | 
| 40859 | 22 | |
| 70136 | 23 | definition\<^marker>\<open>tag important\<close> completion :: "'a measure \<Rightarrow> 'a measure" where | 
| 47694 | 24 |   "completion M = measure_of (space M) { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }
 | 
| 25 | (emeasure M \<circ> main_part M)" | |
| 40859 | 26 | |
| 47694 | 27 | lemma completion_into_space: | 
| 28 |   "{ S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' } \<subseteq> Pow (space M)"
 | |
| 50244 
de72bbe42190
qualified interpretation of sigma_algebra, to avoid name clashes
 immler parents: 
47694diff
changeset | 29 | using sets.sets_into_space by auto | 
| 40859 | 30 | |
| 47694 | 31 | lemma space_completion[simp]: "space (completion M) = space M" | 
| 32 | unfolding completion_def using space_measure_of[OF completion_into_space] by simp | |
| 40859 | 33 | |
| 47694 | 34 | lemma completionI: | 
| 35 | assumes "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | |
| 36 |   shows "A \<in> { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
 | |
| 40859 | 37 | using assms by auto | 
| 38 | ||
| 47694 | 39 | lemma completionE: | 
| 40 |   assumes "A \<in> { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
 | |
| 41 | obtains S N N' where "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | |
| 42 | using assms by auto | |
| 43 | ||
| 44 | lemma sigma_algebra_completion: | |
| 45 |   "sigma_algebra (space M) { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
 | |
| 46 | (is "sigma_algebra _ ?A") | |
| 47 | unfolding sigma_algebra_iff2 | |
| 48 | proof (intro conjI ballI allI impI) | |
| 49 | show "?A \<subseteq> Pow (space M)" | |
| 50244 
de72bbe42190
qualified interpretation of sigma_algebra, to avoid name clashes
 immler parents: 
47694diff
changeset | 50 | using sets.sets_into_space by auto | 
| 40859 | 51 | next | 
| 47694 | 52 |   show "{} \<in> ?A" by auto
 | 
| 40859 | 53 | next | 
| 47694 | 54 | let ?C = "space M" | 
| 74362 | 55 | fix A assume "A \<in> ?A" | 
| 56 | then obtain S N N' | |
| 57 | where "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | |
| 58 | by (rule completionE) | |
| 47694 | 59 | then show "space M - A \<in> ?A" | 
| 60 | by (intro completionI[of _ "(?C - S) \<inter> (?C - N')" "(?C - S) \<inter> N' \<inter> (?C - N)"]) auto | |
| 61 | next | |
| 62 | fix A :: "nat \<Rightarrow> 'a set" assume A: "range A \<subseteq> ?A" | |
| 63 | then have "\<forall>n. \<exists>S N N'. A n = S \<union> N \<and> S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N'" | |
| 64 | by (auto simp: image_subset_iff) | |
| 74362 | 65 | then obtain S N N' where "\<forall>x. A x = S x \<union> N x \<and> S x \<in> sets M \<and> N' x \<in> null_sets M \<and> N x \<subseteq> N' x" | 
| 66 | by metis | |
| 69313 | 67 | then show "\<Union>(A ` UNIV) \<in> ?A" | 
| 40859 | 68 | using null_sets_UN[of N'] | 
| 69313 | 69 | by (intro completionI[of _ "\<Union>(S ` UNIV)" "\<Union>(N ` UNIV)" "\<Union>(N' ` UNIV)"]) auto | 
| 47694 | 70 | qed | 
| 71 | ||
| 70136 | 72 | lemma\<^marker>\<open>tag important\<close> sets_completion: | 
| 47694 | 73 |   "sets (completion M) = { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
 | 
| 70136 | 74 | using sigma_algebra.sets_measure_of_eq[OF sigma_algebra_completion] | 
| 69447 | 75 | by (simp add: completion_def) | 
| 47694 | 76 | |
| 77 | lemma sets_completionE: | |
| 78 | assumes "A \<in> sets (completion M)" | |
| 79 | obtains S N N' where "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | |
| 80 | using assms unfolding sets_completion by auto | |
| 81 | ||
| 82 | lemma sets_completionI: | |
| 83 | assumes "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | |
| 84 | shows "A \<in> sets (completion M)" | |
| 85 | using assms unfolding sets_completion by auto | |
| 86 | ||
| 87 | lemma sets_completionI_sets[intro, simp]: | |
| 88 | "A \<in> sets M \<Longrightarrow> A \<in> sets (completion M)" | |
| 89 | unfolding sets_completion by force | |
| 40859 | 90 | |
| 70136 | 91 | lemma\<^marker>\<open>tag important\<close> measurable_completion: "f \<in> M \<rightarrow>\<^sub>M N \<Longrightarrow> f \<in> completion M \<rightarrow>\<^sub>M N" | 
| 92 | by (auto simp: measurable_def) | |
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 93 | |
| 47694 | 94 | lemma null_sets_completion: | 
| 95 | assumes "N' \<in> null_sets M" "N \<subseteq> N'" shows "N \<in> sets (completion M)" | |
| 96 |   using assms by (intro sets_completionI[of N "{}" N N']) auto
 | |
| 97 | ||
| 70136 | 98 | lemma\<^marker>\<open>tag important\<close> split_completion: | 
| 47694 | 99 | assumes "A \<in> sets (completion M)" | 
| 100 | shows "split_completion M A (main_part M A, null_part M A)" | |
| 70136 | 101 | proof cases | 
| 47694 | 102 | assume "A \<in> sets M" then show ?thesis | 
| 103 | by (simp add: split_completion_def[abs_def] main_part_def null_part_def) | |
| 104 | next | |
| 105 | assume nA: "A \<notin> sets M" | |
| 106 | show ?thesis | |
| 107 | unfolding main_part_def null_part_def if_not_P[OF nA] | |
| 108 | proof (rule someI2_ex) | |
| 74362 | 109 | from assms obtain S N N' where A: "A = S \<union> N" "N \<subseteq> N'" "N' \<in> null_sets M" "S \<in> sets M" | 
| 110 | by (blast intro: sets_completionE) | |
| 47694 | 111 | let ?P = "(S, N - S)" | 
| 112 | show "\<exists>p. split_completion M A p" | |
| 113 | unfolding split_completion_def if_not_P[OF nA] using A | |
| 114 | proof (intro exI conjI) | |
| 115 | show "A = fst ?P \<union> snd ?P" using A by auto | |
| 116 | show "snd ?P \<subseteq> N'" using A by auto | |
| 117 | qed auto | |
| 40859 | 118 | qed auto | 
| 47694 | 119 | qed | 
| 40859 | 120 | |
| 67982 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 121 | lemma sets_restrict_space_subset: | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 122 | assumes S: "S \<in> sets (completion M)" | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 123 | shows "sets (restrict_space (completion M) S) \<subseteq> sets (completion M)" | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 124 | by (metis assms sets.Int_space_eq2 sets_restrict_space_iff subsetI) | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 125 | |
| 47694 | 126 | lemma | 
| 127 | assumes "S \<in> sets (completion M)" | |
| 128 | shows main_part_sets[intro, simp]: "main_part M S \<in> sets M" | |
| 129 | and main_part_null_part_Un[simp]: "main_part M S \<union> null_part M S = S" | |
| 130 |     and main_part_null_part_Int[simp]: "main_part M S \<inter> null_part M S = {}"
 | |
| 131 | using split_completion[OF assms] | |
| 62390 | 132 | by (auto simp: split_completion_def split: if_split_asm) | 
| 40859 | 133 | |
| 47694 | 134 | lemma main_part[simp]: "S \<in> sets M \<Longrightarrow> main_part M S = S" | 
| 135 | using split_completion[of S M] | |
| 62390 | 136 | by (auto simp: split_completion_def split: if_split_asm) | 
| 40859 | 137 | |
| 47694 | 138 | lemma null_part: | 
| 139 | assumes "S \<in> sets (completion M)" shows "\<exists>N. N\<in>null_sets M \<and> null_part M S \<subseteq> N" | |
| 62390 | 140 | using split_completion[OF assms] by (auto simp: split_completion_def split: if_split_asm) | 
| 47694 | 141 | |
| 142 | lemma null_part_sets[intro, simp]: | |
| 143 | assumes "S \<in> sets M" shows "null_part M S \<in> sets M" "emeasure M (null_part M S) = 0" | |
| 40859 | 144 | proof - | 
| 47694 | 145 | have S: "S \<in> sets (completion M)" using assms by auto | 
| 74362 | 146 | have *: "S - main_part M S \<in> sets M" using assms by auto | 
| 40859 | 147 | from main_part_null_part_Un[OF S] main_part_null_part_Int[OF S] | 
| 47694 | 148 | have "S - main_part M S = null_part M S" by auto | 
| 74362 | 149 | with * show sets: "null_part M S \<in> sets M" by auto | 
| 150 | from null_part[OF S] obtain N where "N \<in> null_sets M \<and> null_part M S \<subseteq> N" .. | |
| 47694 | 151 | with emeasure_eq_0[of N _ "null_part M S"] sets | 
| 152 | show "emeasure M (null_part M S) = 0" by auto | |
| 40859 | 153 | qed | 
| 154 | ||
| 47694 | 155 | lemma emeasure_main_part_UN: | 
| 40859 | 156 | fixes S :: "nat \<Rightarrow> 'a set" | 
| 47694 | 157 | assumes "range S \<subseteq> sets (completion M)" | 
| 158 | shows "emeasure M (main_part M (\<Union>i. (S i))) = emeasure M (\<Union>i. main_part M (S i))" | |
| 40859 | 159 | proof - | 
| 47694 | 160 | have S: "\<And>i. S i \<in> sets (completion M)" using assms by auto | 
| 161 | then have UN: "(\<Union>i. S i) \<in> sets (completion M)" by auto | |
| 162 | have "\<forall>i. \<exists>N. N \<in> null_sets M \<and> null_part M (S i) \<subseteq> N" | |
| 40859 | 163 | using null_part[OF S] by auto | 
| 74362 | 164 | then obtain N where N: "\<forall>x. N x \<in> null_sets M \<and> null_part M (S x) \<subseteq> N x" by metis | 
| 47694 | 165 | then have UN_N: "(\<Union>i. N i) \<in> null_sets M" by (intro null_sets_UN) auto | 
| 74362 | 166 | from S have "(\<Union>i. S i) \<in> sets (completion M)" by auto | 
| 167 | from null_part[OF this] obtain N' where N': "N' \<in> null_sets M \<and> null_part M (\<Union> (range S)) \<subseteq> N'" .. | |
| 40859 | 168 | let ?N = "(\<Union>i. N i) \<union> N'" | 
| 47694 | 169 | have null_set: "?N \<in> null_sets M" using N' UN_N by (intro null_sets.Un) auto | 
| 170 | have "main_part M (\<Union>i. S i) \<union> ?N = (main_part M (\<Union>i. S i) \<union> null_part M (\<Union>i. S i)) \<union> ?N" | |
| 40859 | 171 | using N' by auto | 
| 47694 | 172 | also have "\<dots> = (\<Union>i. main_part M (S i) \<union> null_part M (S i)) \<union> ?N" | 
| 40859 | 173 | unfolding main_part_null_part_Un[OF S] main_part_null_part_Un[OF UN] by auto | 
| 47694 | 174 | also have "\<dots> = (\<Union>i. main_part M (S i)) \<union> ?N" | 
| 40859 | 175 | using N by auto | 
| 47694 | 176 | finally have *: "main_part M (\<Union>i. S i) \<union> ?N = (\<Union>i. main_part M (S i)) \<union> ?N" . | 
| 177 | have "emeasure M (main_part M (\<Union>i. S i)) = emeasure M (main_part M (\<Union>i. S i) \<union> ?N)" | |
| 178 | using null_set UN by (intro emeasure_Un_null_set[symmetric]) auto | |
| 179 | also have "\<dots> = emeasure M ((\<Union>i. main_part M (S i)) \<union> ?N)" | |
| 40859 | 180 | unfolding * .. | 
| 47694 | 181 | also have "\<dots> = emeasure M (\<Union>i. main_part M (S i))" | 
| 182 | using null_set S by (intro emeasure_Un_null_set) auto | |
| 41689 
3e39b0e730d6
the measure valuation is again part of the measure_space type, instead of an explicit parameter to the locale;
 hoelzl parents: 
41097diff
changeset | 183 | finally show ?thesis . | 
| 40859 | 184 | qed | 
| 185 | ||
| 70136 | 186 | lemma\<^marker>\<open>tag important\<close> emeasure_completion[simp]: | 
| 69447 | 187 | assumes S: "S \<in> sets (completion M)" | 
| 188 | shows "emeasure (completion M) S = emeasure M (main_part M S)" | |
| 70136 | 189 | proof (subst emeasure_measure_of[OF completion_def completion_into_space]) | 
| 47694 | 190 | let ?\<mu> = "emeasure M \<circ> main_part M" | 
| 191 | show "S \<in> sets (completion M)" "?\<mu> S = emeasure M (main_part M S) " using S by simp_all | |
| 192 | show "positive (sets (completion M)) ?\<mu>" | |
| 62975 
1d066f6ab25d
Probability: move emeasure and nn_integral from ereal to ennreal
 hoelzl parents: 
62390diff
changeset | 193 | by (simp add: positive_def) | 
| 47694 | 194 | show "countably_additive (sets (completion M)) ?\<mu>" | 
| 195 | proof (intro countably_additiveI) | |
| 196 | fix A :: "nat \<Rightarrow> 'a set" assume A: "range A \<subseteq> sets (completion M)" "disjoint_family A" | |
| 197 | have "disjoint_family (\<lambda>i. main_part M (A i))" | |
| 198 | proof (intro disjoint_family_on_bisimulation[OF A(2)]) | |
| 199 |       fix n m assume "A n \<inter> A m = {}"
 | |
| 200 |       then have "(main_part M (A n) \<union> null_part M (A n)) \<inter> (main_part M (A m) \<union> null_part M (A m)) = {}"
 | |
| 201 | using A by (subst (1 2) main_part_null_part_Un) auto | |
| 202 |       then show "main_part M (A n) \<inter> main_part M (A m) = {}" by auto
 | |
| 203 | qed | |
| 204 | then have "(\<Sum>n. emeasure M (main_part M (A n))) = emeasure M (\<Union>i. main_part M (A i))" | |
| 205 | using A by (auto intro!: suminf_emeasure) | |
| 69313 | 206 | then show "(\<Sum>n. ?\<mu> (A n)) = ?\<mu> (\<Union>(A ` UNIV))" | 
| 47694 | 207 | by (simp add: completion_def emeasure_main_part_UN[OF A(1)]) | 
| 208 | qed | |
| 40859 | 209 | qed | 
| 210 | ||
| 63968 
4359400adfe7
HOL-Analysis: the image of a negligible set under a Lipschitz continuous function is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63959diff
changeset | 211 | lemma measure_completion[simp]: "S \<in> sets M \<Longrightarrow> measure (completion M) S = measure M S" | 
| 
4359400adfe7
HOL-Analysis: the image of a negligible set under a Lipschitz continuous function is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63959diff
changeset | 212 | unfolding measure_def by auto | 
| 
4359400adfe7
HOL-Analysis: the image of a negligible set under a Lipschitz continuous function is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63959diff
changeset | 213 | |
| 47694 | 214 | lemma emeasure_completion_UN: | 
| 215 | "range S \<subseteq> sets (completion M) \<Longrightarrow> | |
| 216 | emeasure (completion M) (\<Union>i::nat. (S i)) = emeasure M (\<Union>i. main_part M (S i))" | |
| 217 | by (subst emeasure_completion) (auto simp add: emeasure_main_part_UN) | |
| 40859 | 218 | |
| 47694 | 219 | lemma emeasure_completion_Un: | 
| 220 | assumes S: "S \<in> sets (completion M)" and T: "T \<in> sets (completion M)" | |
| 221 | shows "emeasure (completion M) (S \<union> T) = emeasure M (main_part M S \<union> main_part M T)" | |
| 222 | proof (subst emeasure_completion) | |
| 223 | have UN: "(\<Union>i. binary (main_part M S) (main_part M T) i) = (\<Union>i. main_part M (binary S T i))" | |
| 62390 | 224 | unfolding binary_def by (auto split: if_split_asm) | 
| 47694 | 225 | show "emeasure M (main_part M (S \<union> T)) = emeasure M (main_part M S \<union> main_part M T)" | 
| 226 | using emeasure_main_part_UN[of "binary S T" M] assms | |
| 62343 
24106dc44def
prefer abbreviations for compound operators INFIMUM and SUPREMUM
 haftmann parents: 
61808diff
changeset | 227 | by (simp add: range_binary_eq, simp add: Un_range_binary UN) | 
| 47694 | 228 | qed (auto intro: S T) | 
| 229 | ||
| 230 | lemma sets_completionI_sub: | |
| 231 | assumes N: "N' \<in> null_sets M" "N \<subseteq> N'" | |
| 232 | shows "N \<in> sets (completion M)" | |
| 233 |   using assms by (intro sets_completionI[of _ "{}" N N']) auto
 | |
| 234 | ||
| 235 | lemma completion_ex_simple_function: | |
| 236 | assumes f: "simple_function (completion M) f" | |
| 237 | shows "\<exists>f'. simple_function M f' \<and> (AE x in M. f x = f' x)" | |
| 40859 | 238 | proof - | 
| 46731 | 239 |   let ?F = "\<lambda>x. f -` {x} \<inter> space M"
 | 
| 47694 | 240 | have F: "\<And>x. ?F x \<in> sets (completion M)" and fin: "finite (f`space M)" | 
| 241 | using simple_functionD[OF f] simple_functionD[OF f] by simp_all | |
| 242 | have "\<forall>x. \<exists>N. N \<in> null_sets M \<and> null_part M (?F x) \<subseteq> N" | |
| 40859 | 243 | using F null_part by auto | 
| 244 | from choice[OF this] obtain N where | |
| 47694 | 245 | N: "\<And>x. null_part M (?F x) \<subseteq> N x" "\<And>x. N x \<in> null_sets M" by auto | 
| 46731 | 246 | let ?N = "\<Union>x\<in>f`space M. N x" | 
| 247 | let ?f' = "\<lambda>x. if x \<in> ?N then undefined else f x" | |
| 47694 | 248 | have sets: "?N \<in> null_sets M" using N fin by (intro null_sets.finite_UN) auto | 
| 40859 | 249 | show ?thesis unfolding simple_function_def | 
| 250 | proof (safe intro!: exI[of _ ?f']) | |
| 251 |     have "?f' ` space M \<subseteq> f`space M \<union> {undefined}" by auto
 | |
| 47694 | 252 | from finite_subset[OF this] simple_functionD(1)[OF f] | 
| 40859 | 253 | show "finite (?f' ` space M)" by auto | 
| 254 | next | |
| 255 | fix x assume "x \<in> space M" | |
| 256 |     have "?f' -` {?f' x} \<inter> space M =
 | |
| 257 | (if x \<in> ?N then ?F undefined \<union> ?N | |
| 258 | else if f x = undefined then ?F (f x) \<union> ?N | |
| 259 | else ?F (f x) - ?N)" | |
| 62390 | 260 | using N(2) sets.sets_into_space by (auto split: if_split_asm simp: null_sets_def) | 
| 40859 | 261 |     moreover { fix y have "?F y \<union> ?N \<in> sets M"
 | 
| 262 | proof cases | |
| 263 | assume y: "y \<in> f`space M" | |
| 47694 | 264 | have "?F y \<union> ?N = (main_part M (?F y) \<union> null_part M (?F y)) \<union> ?N" | 
| 40859 | 265 | using main_part_null_part_Un[OF F] by auto | 
| 47694 | 266 | also have "\<dots> = main_part M (?F y) \<union> ?N" | 
| 40859 | 267 | using y N by auto | 
| 268 | finally show ?thesis | |
| 269 | using F sets by auto | |
| 270 | next | |
| 271 |         assume "y \<notin> f`space M" then have "?F y = {}" by auto
 | |
| 272 | then show ?thesis using sets by auto | |
| 273 | qed } | |
| 274 |     moreover {
 | |
| 47694 | 275 | have "?F (f x) - ?N = main_part M (?F (f x)) \<union> null_part M (?F (f x)) - ?N" | 
| 40859 | 276 | using main_part_null_part_Un[OF F] by auto | 
| 47694 | 277 | also have "\<dots> = main_part M (?F (f x)) - ?N" | 
| 61808 | 278 | using N \<open>x \<in> space M\<close> by auto | 
| 40859 | 279 | finally have "?F (f x) - ?N \<in> sets M" | 
| 280 | using F sets by auto } | |
| 281 |     ultimately show "?f' -` {?f' x} \<inter> space M \<in> sets M" by auto
 | |
| 282 | next | |
| 47694 | 283 | show "AE x in M. f x = ?f' x" | 
| 40859 | 284 | by (rule AE_I', rule sets) auto | 
| 285 | qed | |
| 286 | qed | |
| 287 | ||
| 70136 | 288 | lemma\<^marker>\<open>tag important\<close> completion_ex_borel_measurable: | 
| 62975 
1d066f6ab25d
Probability: move emeasure and nn_integral from ereal to ennreal
 hoelzl parents: 
62390diff
changeset | 289 | fixes g :: "'a \<Rightarrow> ennreal" | 
| 
1d066f6ab25d
Probability: move emeasure and nn_integral from ereal to ennreal
 hoelzl parents: 
62390diff
changeset | 290 | assumes g: "g \<in> borel_measurable (completion M)" | 
| 47694 | 291 | shows "\<exists>g'\<in>borel_measurable M. (AE x in M. g x = g' x)" | 
| 70136 | 292 | proof - | 
| 74362 | 293 | obtain f :: "nat \<Rightarrow> 'a \<Rightarrow> ennreal" | 
| 294 | where *: "\<And>i. simple_function (completion M) (f i)" | |
| 295 | and **: "\<And>x. (SUP i. f i x) = g x" | |
| 296 | using g[THEN borel_measurable_implies_simple_function_sequence'] by metis | |
| 297 | from *[THEN completion_ex_simple_function] | |
| 47694 | 298 | have "\<forall>i. \<exists>f'. simple_function M f' \<and> (AE x in M. f i x = f' x)" .. | 
| 74362 | 299 | then obtain f' | 
| 300 | where sf: "\<And>i. simple_function M (f' i)" | |
| 301 | and AE: "\<forall>i. AE x in M. f i x = f' i x" | |
| 302 | by metis | |
| 40859 | 303 | show ?thesis | 
| 304 | proof (intro bexI) | |
| 41981 
cdf7693bbe08
reworked Probability theory: measures are not type restricted to positive extended reals
 hoelzl parents: 
41959diff
changeset | 305 | from AE[unfolded AE_all_countable[symmetric]] | 
| 47694 | 306 | show "AE x in M. g x = (SUP i. f' i x)" (is "AE x in M. g x = ?f x") | 
| 41705 | 307 | proof (elim AE_mp, safe intro!: AE_I2) | 
| 40859 | 308 | fix x assume eq: "\<forall>i. f i x = f' i x" | 
| 74362 | 309 | have "g x = (SUP i. f i x)" by (auto simp: ** split: split_max) | 
| 310 | with eq show "g x = ?f x" by auto | |
| 40859 | 311 | qed | 
| 312 | show "?f \<in> borel_measurable M" | |
| 56949 | 313 | using sf[THEN borel_measurable_simple_function] by auto | 
| 40859 | 314 | qed | 
| 315 | qed | |
| 316 | ||
| 58587 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 317 | lemma null_sets_completionI: "N \<in> null_sets M \<Longrightarrow> N \<in> null_sets (completion M)" | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 318 | by (auto simp: null_sets_def) | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 319 | |
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 320 | lemma AE_completion: "(AE x in M. P x) \<Longrightarrow> (AE x in completion M. P x)" | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 321 | unfolding eventually_ae_filter by (auto intro: null_sets_completionI) | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 322 | |
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 323 | lemma null_sets_completion_iff: "N \<in> sets M \<Longrightarrow> N \<in> null_sets (completion M) \<longleftrightarrow> N \<in> null_sets M" | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 324 | by (auto simp: null_sets_def) | 
| 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 hoelzl parents: 
56993diff
changeset | 325 | |
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 326 | lemma sets_completion_AE: "(AE x in M. \<not> P x) \<Longrightarrow> Measurable.pred (completion M) P" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 327 | unfolding pred_def sets_completion eventually_ae_filter | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 328 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 329 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 330 | lemma null_sets_completion_iff2: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 331 | "A \<in> null_sets (completion M) \<longleftrightarrow> (\<exists>N'\<in>null_sets M. A \<subseteq> N')" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 332 | proof safe | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 333 | assume "A \<in> null_sets (completion M)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 334 | then have A: "A \<in> sets (completion M)" and "main_part M A \<in> null_sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 335 | by (auto simp: null_sets_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 336 | moreover obtain N where "N \<in> null_sets M" "null_part M A \<subseteq> N" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 337 | using null_part[OF A] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 338 | ultimately show "\<exists>N'\<in>null_sets M. A \<subseteq> N'" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 339 | proof (intro bexI) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 340 | show "A \<subseteq> N \<union> main_part M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 341 | using \<open>null_part M A \<subseteq> N\<close> by (subst main_part_null_part_Un[OF A, symmetric]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 342 | qed auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 343 | next | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 344 | fix N assume "N \<in> null_sets M" "A \<subseteq> N" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 345 | then have "A \<in> sets (completion M)" and N: "N \<in> sets M" "A \<subseteq> N" "emeasure M N = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 346 | by (auto intro: null_sets_completion) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 347 | moreover have "emeasure (completion M) A = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 348 | using N by (intro emeasure_eq_0[of N _ A]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 349 | ultimately show "A \<in> null_sets (completion M)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 350 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 351 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 352 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 353 | lemma null_sets_completion_subset: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 354 | "B \<subseteq> A \<Longrightarrow> A \<in> null_sets (completion M) \<Longrightarrow> B \<in> null_sets (completion M)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 355 | unfolding null_sets_completion_iff2 by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 356 | |
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 357 | interpretation completion: complete_measure "completion M" for M | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 358 | proof | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 359 | show "B \<subseteq> A \<Longrightarrow> A \<in> null_sets (completion M) \<Longrightarrow> B \<in> sets (completion M)" for B A | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 360 | using null_sets_completion_subset[of B A M] by (simp add: null_sets_def) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 361 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 362 | |
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 363 | lemma null_sets_restrict_space: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 364 | "\<Omega> \<in> sets M \<Longrightarrow> A \<in> null_sets (restrict_space M \<Omega>) \<longleftrightarrow> A \<subseteq> \<Omega> \<and> A \<in> null_sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 365 | by (auto simp: null_sets_def emeasure_restrict_space sets_restrict_space) | 
| 63941 
f353674c2528
move absolutely_integrable_on to Equivalence_Lebesgue_Henstock_Integration, now based on the Lebesgue integral
 hoelzl parents: 
63940diff
changeset | 366 | |
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 367 | lemma completion_ex_borel_measurable_real: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 368 | fixes g :: "'a \<Rightarrow> real" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 369 | assumes g: "g \<in> borel_measurable (completion M)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 370 | shows "\<exists>g'\<in>borel_measurable M. (AE x in M. g x = g' x)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 371 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 372 | have "(\<lambda>x. ennreal (g x)) \<in> completion M \<rightarrow>\<^sub>M borel" "(\<lambda>x. ennreal (- g x)) \<in> completion M \<rightarrow>\<^sub>M borel" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 373 | using g by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 374 | from this[THEN completion_ex_borel_measurable] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 375 | obtain pf nf :: "'a \<Rightarrow> ennreal" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 376 | where [measurable]: "nf \<in> M \<rightarrow>\<^sub>M borel" "pf \<in> M \<rightarrow>\<^sub>M borel" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 377 | and ae: "AE x in M. pf x = ennreal (g x)" "AE x in M. nf x = ennreal (- g x)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 378 | by (auto simp: eq_commute) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 379 | then have "AE x in M. pf x = ennreal (g x) \<and> nf x = ennreal (- g x)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 380 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 381 |   then obtain N where "N \<in> null_sets M" "{x\<in>space M. pf x \<noteq> ennreal (g x) \<and> nf x \<noteq> ennreal (- g x)} \<subseteq> N"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 382 | by (auto elim!: AE_E) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 383 | show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 384 | proof | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 385 | let ?F = "\<lambda>x. indicator (space M - N) x * (enn2real (pf x) - enn2real (nf x))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 386 | show "?F \<in> M \<rightarrow>\<^sub>M borel" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 387 | using \<open>N \<in> null_sets M\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 388 | show "AE x in M. g x = ?F x" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 389 | using \<open>N \<in> null_sets M\<close>[THEN AE_not_in] ae AE_space | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 390 | apply eventually_elim | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 391 | subgoal for x | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 392 | by (cases "0::real" "g x" rule: linorder_le_cases) (auto simp: ennreal_neg) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 393 | done | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 394 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 395 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 396 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 397 | lemma simple_function_completion: "simple_function M f \<Longrightarrow> simple_function (completion M) f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 398 | by (simp add: simple_function_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 399 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 400 | lemma simple_integral_completion: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 401 | "simple_function M f \<Longrightarrow> simple_integral (completion M) f = simple_integral M f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 402 | unfolding simple_integral_def by simp | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 403 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 404 | lemma nn_integral_completion: "nn_integral (completion M) f = nn_integral M f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 405 | unfolding nn_integral_def | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 406 | proof (safe intro!: SUP_eq) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 407 | fix s assume s: "simple_function (completion M) s" and "s \<le> f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 408 | then obtain s' where s': "simple_function M s'" "AE x in M. s x = s' x" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 409 | by (auto dest: completion_ex_simple_function) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 410 |   then obtain N where N: "N \<in> null_sets M" "{x\<in>space M. s x \<noteq> s' x} \<subseteq> N"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 411 | by (auto elim!: AE_E) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 412 | then have ae_N: "AE x in M. (s x \<noteq> s' x \<longrightarrow> x \<in> N) \<and> x \<notin> N" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 413 | by (auto dest: AE_not_in) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 414 | define s'' where "s'' x = (if x \<in> N then 0 else s x)" for x | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 415 | then have ae_s_eq_s'': "AE x in completion M. s x = s'' x" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 416 | using s' ae_N by (intro AE_completion) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 417 | have s'': "simple_function M s''" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 418 | proof (subst simple_function_cong) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 419 | show "t \<in> space M \<Longrightarrow> s'' t = (if t \<in> N then 0 else s' t)" for t | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 420 | using N by (auto simp: s''_def dest: sets.sets_into_space) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 421 | show "simple_function M (\<lambda>t. if t \<in> N then 0 else s' t)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 422 | unfolding s''_def[abs_def] using N by (auto intro!: simple_function_If s') | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 423 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 424 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 425 |   show "\<exists>j\<in>{g. simple_function M g \<and> g \<le> f}. integral\<^sup>S (completion M) s \<le> integral\<^sup>S M j"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 426 | proof (safe intro!: bexI[of _ s'']) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 427 | have "integral\<^sup>S (completion M) s = integral\<^sup>S (completion M) s''" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 428 | by (intro simple_integral_cong_AE s simple_function_completion s'' ae_s_eq_s'') | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 429 | then show "integral\<^sup>S (completion M) s \<le> integral\<^sup>S M s''" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 430 | using s'' by (simp add: simple_integral_completion) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 431 | from \<open>s \<le> f\<close> show "s'' \<le> f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 432 | unfolding s''_def le_fun_def by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 433 | qed fact | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 434 | next | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 435 | fix s assume "simple_function M s" "s \<le> f" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 436 |   then show "\<exists>j\<in>{g. simple_function (completion M) g \<and> g \<le> f}. integral\<^sup>S M s \<le> integral\<^sup>S (completion M) j"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 437 | by (intro bexI[of _ s]) (auto simp: simple_integral_completion simple_function_completion) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 438 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 439 | |
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 440 | lemma integrable_completion: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 441 |   fixes f :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}"
 | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 442 | shows "f \<in> M \<rightarrow>\<^sub>M borel \<Longrightarrow> integrable (completion M) f \<longleftrightarrow> integrable M f" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 443 | by (rule integrable_subalgebra[symmetric]) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 444 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 445 | lemma integral_completion: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 446 |   fixes f :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}"
 | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 447 | assumes f: "f \<in> M \<rightarrow>\<^sub>M borel" shows "integral\<^sup>L (completion M) f = integral\<^sup>L M f" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 448 | by (rule integral_subalgebra[symmetric]) (auto intro: f) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 449 | |
| 70136 | 450 | locale\<^marker>\<open>tag important\<close> semifinite_measure = | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 451 | fixes M :: "'a measure" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 452 | assumes semifinite: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 453 | "\<And>A. A \<in> sets M \<Longrightarrow> emeasure M A = \<infinity> \<Longrightarrow> \<exists>B\<in>sets M. B \<subseteq> A \<and> emeasure M B < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 454 | |
| 70136 | 455 | locale\<^marker>\<open>tag important\<close> locally_determined_measure = semifinite_measure + | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 456 | assumes locally_determined: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 457 | "\<And>A. A \<subseteq> space M \<Longrightarrow> (\<And>B. B \<in> sets M \<Longrightarrow> emeasure M B < \<infinity> \<Longrightarrow> A \<inter> B \<in> sets M) \<Longrightarrow> A \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 458 | |
| 70136 | 459 | locale\<^marker>\<open>tag important\<close> cld_measure = | 
| 69447 | 460 | complete_measure M + locally_determined_measure M for M :: "'a measure" | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 461 | |
| 70136 | 462 | definition\<^marker>\<open>tag important\<close> outer_measure_of :: "'a measure \<Rightarrow> 'a set \<Rightarrow> ennreal" | 
| 69260 
0a9688695a1b
removed relics of ASCII syntax for indexed big operators
 haftmann parents: 
67982diff
changeset | 463 |   where "outer_measure_of M A = (INF B \<in> {B\<in>sets M. A \<subseteq> B}. emeasure M B)"
 | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 464 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 465 | lemma outer_measure_of_eq[simp]: "A \<in> sets M \<Longrightarrow> outer_measure_of M A = emeasure M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 466 | by (auto simp: outer_measure_of_def intro!: INF_eqI emeasure_mono) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 467 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 468 | lemma outer_measure_of_mono: "A \<subseteq> B \<Longrightarrow> outer_measure_of M A \<le> outer_measure_of M B" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 469 | unfolding outer_measure_of_def by (intro INF_superset_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 470 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 471 | lemma outer_measure_of_attain: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 472 | assumes "A \<subseteq> space M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 473 | shows "\<exists>E\<in>sets M. A \<subseteq> E \<and> outer_measure_of M A = emeasure M E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 474 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 475 |   have "emeasure M ` {B \<in> sets M. A \<subseteq> B} \<noteq> {}"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 476 | using \<open>A \<subseteq> space M\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 477 | from ennreal_Inf_countable_INF[OF this] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 478 | obtain f | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 479 |     where f: "range f \<subseteq> emeasure M ` {B \<in> sets M. A \<subseteq> B}" "decseq f"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 480 | and "outer_measure_of M A = (INF i. f i)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 481 | unfolding outer_measure_of_def by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 482 | have "\<exists>E. \<forall>n. (E n \<in> sets M \<and> A \<subseteq> E n \<and> emeasure M (E n) \<le> f n) \<and> E (Suc n) \<subseteq> E n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 483 | proof (rule dependent_nat_choice) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 484 | show "\<exists>x. x \<in> sets M \<and> A \<subseteq> x \<and> emeasure M x \<le> f 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 485 | using f(1) by (fastforce simp: image_subset_iff image_iff intro: eq_refl[OF sym]) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 486 | next | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 487 | fix E n assume "E \<in> sets M \<and> A \<subseteq> E \<and> emeasure M E \<le> f n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 488 | moreover obtain F where "F \<in> sets M" "A \<subseteq> F" "f (Suc n) = emeasure M F" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 489 | using f(1) by (auto simp: image_subset_iff image_iff) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 490 | ultimately show "\<exists>y. (y \<in> sets M \<and> A \<subseteq> y \<and> emeasure M y \<le> f (Suc n)) \<and> y \<subseteq> E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 491 | by (auto intro!: exI[of _ "F \<inter> E"] emeasure_mono) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 492 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 493 | then obtain E | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 494 | where [simp]: "\<And>n. E n \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 495 | and "\<And>n. A \<subseteq> E n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 496 | and le_f: "\<And>n. emeasure M (E n) \<le> f n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 497 | and "decseq E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 498 | by (auto simp: decseq_Suc_iff) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 499 | show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 500 | proof cases | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 501 | assume fin: "\<exists>i. emeasure M (E i) < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 502 | show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 503 | proof (intro bexI[of _ "\<Inter>i. E i"] conjI) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 504 | show "A \<subseteq> (\<Inter>i. E i)" "(\<Inter>i. E i) \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 505 | using \<open>\<And>n. A \<subseteq> E n\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 506 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 507 | have " (INF i. emeasure M (E i)) \<le> outer_measure_of M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 508 | unfolding \<open>outer_measure_of M A = (INF n. f n)\<close> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 509 | by (intro INF_superset_mono le_f) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 510 | moreover have "outer_measure_of M A \<le> (INF i. outer_measure_of M (E i))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 511 | by (intro INF_greatest outer_measure_of_mono \<open>\<And>n. A \<subseteq> E n\<close>) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 512 | ultimately have "outer_measure_of M A = (INF i. emeasure M (E i))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 513 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 514 | also have "\<dots> = emeasure M (\<Inter>i. E i)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 515 | using fin by (intro INF_emeasure_decseq' \<open>decseq E\<close>) (auto simp: less_top) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 516 | finally show "outer_measure_of M A = emeasure M (\<Inter>i. E i)" . | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 517 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 518 | next | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 519 | assume "\<nexists>i. emeasure M (E i) < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 520 | then have "f n = \<infinity>" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 521 | using le_f by (auto simp: not_less top_unique) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 522 | moreover have "\<exists>E\<in>sets M. A \<subseteq> E \<and> f 0 = emeasure M E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 523 | using f by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 524 | ultimately show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 525 | unfolding \<open>outer_measure_of M A = (INF n. f n)\<close> by simp | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 526 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 527 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 528 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 529 | lemma SUP_outer_measure_of_incseq: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 530 | assumes A: "\<And>n. A n \<subseteq> space M" and "incseq A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 531 | shows "(SUP n. outer_measure_of M (A n)) = outer_measure_of M (\<Union>i. A i)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 532 | proof (rule antisym) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 533 | obtain E | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 534 | where E: "\<And>n. E n \<in> sets M" "\<And>n. A n \<subseteq> E n" "\<And>n. outer_measure_of M (A n) = emeasure M (E n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 535 | using outer_measure_of_attain[OF A] by metis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 536 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 537 |   define F where "F n = (\<Inter>i\<in>{n ..}. E i)" for n
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 538 | with E have F: "incseq F" "\<And>n. F n \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 539 | by (auto simp: incseq_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 540 | have "A n \<subseteq> F n" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 541 | using incseqD[OF \<open>incseq A\<close>, of n] \<open>\<And>n. A n \<subseteq> E n\<close> by (auto simp: F_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 542 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 543 | have eq: "outer_measure_of M (A n) = outer_measure_of M (F n)" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 544 | proof (intro antisym) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 545 | have "outer_measure_of M (F n) \<le> outer_measure_of M (E n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 546 | by (intro outer_measure_of_mono) (auto simp add: F_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 547 | with E show "outer_measure_of M (F n) \<le> outer_measure_of M (A n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 548 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 549 | show "outer_measure_of M (A n) \<le> outer_measure_of M (F n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 550 | by (intro outer_measure_of_mono \<open>A n \<subseteq> F n\<close>) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 551 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 552 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 553 | have "outer_measure_of M (\<Union>n. A n) \<le> outer_measure_of M (\<Union>n. F n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 554 | using \<open>\<And>n. A n \<subseteq> F n\<close> by (intro outer_measure_of_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 555 | also have "\<dots> = (SUP n. emeasure M (F n))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 556 | using F by (simp add: SUP_emeasure_incseq subset_eq) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 557 | finally show "outer_measure_of M (\<Union>n. A n) \<le> (SUP n. outer_measure_of M (A n))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 558 | by (simp add: eq F) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 559 | qed (auto intro: SUP_least outer_measure_of_mono) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 560 | |
| 70136 | 561 | definition\<^marker>\<open>tag important\<close> measurable_envelope :: "'a measure \<Rightarrow> 'a set \<Rightarrow> 'a set \<Rightarrow> bool" | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 562 | where "measurable_envelope M A E \<longleftrightarrow> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 563 | (A \<subseteq> E \<and> E \<in> sets M \<and> (\<forall>F\<in>sets M. emeasure M (F \<inter> E) = outer_measure_of M (F \<inter> A)))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 564 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 565 | lemma measurable_envelopeD: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 566 | assumes "measurable_envelope M A E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 567 | shows "A \<subseteq> E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 568 | and "E \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 569 | and "\<And>F. F \<in> sets M \<Longrightarrow> emeasure M (F \<inter> E) = outer_measure_of M (F \<inter> A)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 570 | and "A \<subseteq> space M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 571 | using assms sets.sets_into_space[of E] by (auto simp: measurable_envelope_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 572 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 573 | lemma measurable_envelopeD1: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 574 | assumes E: "measurable_envelope M A E" and F: "F \<in> sets M" "F \<subseteq> E - A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 575 | shows "emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 576 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 577 | have "emeasure M F = emeasure M (F \<inter> E)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 578 | using F by (intro arg_cong2[where f=emeasure]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 579 | also have "\<dots> = outer_measure_of M (F \<inter> A)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 580 | using measurable_envelopeD[OF E] \<open>F \<in> sets M\<close> by (auto simp: measurable_envelope_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 581 |   also have "\<dots> = outer_measure_of M {}"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 582 | using \<open>F \<subseteq> E - A\<close> by (intro arg_cong2[where f=outer_measure_of]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 583 | finally show "emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 584 | by simp | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 585 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 586 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 587 | lemma measurable_envelope_eq1: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 588 | assumes "A \<subseteq> E" "E \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 589 | shows "measurable_envelope M A E \<longleftrightarrow> (\<forall>F\<in>sets M. F \<subseteq> E - A \<longrightarrow> emeasure M F = 0)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 590 | proof safe | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 591 | assume *: "\<forall>F\<in>sets M. F \<subseteq> E - A \<longrightarrow> emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 592 | show "measurable_envelope M A E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 593 | unfolding measurable_envelope_def | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 594 | proof (rule ccontr, auto simp add: \<open>E \<in> sets M\<close> \<open>A \<subseteq> E\<close>) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 595 | fix F assume "F \<in> sets M" "emeasure M (F \<inter> E) \<noteq> outer_measure_of M (F \<inter> A)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 596 | then have "outer_measure_of M (F \<inter> A) < emeasure M (F \<inter> E)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 597 | using outer_measure_of_mono[of "F \<inter> A" "F \<inter> E" M] \<open>A \<subseteq> E\<close> \<open>E \<in> sets M\<close> by (auto simp: less_le) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 598 | then obtain G where G: "G \<in> sets M" "F \<inter> A \<subseteq> G" and less: "emeasure M G < emeasure M (E \<inter> F)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 599 | unfolding outer_measure_of_def INF_less_iff by (auto simp: ac_simps) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 600 | have le: "emeasure M (G \<inter> E \<inter> F) \<le> emeasure M G" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 601 | using \<open>E \<in> sets M\<close> \<open>G \<in> sets M\<close> \<open>F \<in> sets M\<close> by (auto intro!: emeasure_mono) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 602 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 603 | from G have "E \<inter> F - G \<in> sets M" "E \<inter> F - G \<subseteq> E - A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 604 | using \<open>F \<in> sets M\<close> \<open>E \<in> sets M\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 605 | with * have "0 = emeasure M (E \<inter> F - G)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 606 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 607 | also have "E \<inter> F - G = E \<inter> F - (G \<inter> E \<inter> F)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 608 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 609 | also have "emeasure M (E \<inter> F - (G \<inter> E \<inter> F)) = emeasure M (E \<inter> F) - emeasure M (G \<inter> E \<inter> F)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 610 | using \<open>E \<in> sets M\<close> \<open>F \<in> sets M\<close> le less G by (intro emeasure_Diff) (auto simp: top_unique) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 611 | also have "\<dots> > 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 612 | using le less by (intro diff_gr0_ennreal) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 613 | finally show False by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 614 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 615 | qed (rule measurable_envelopeD1) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 616 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 617 | lemma measurable_envelopeD2: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 618 | assumes E: "measurable_envelope M A E" shows "emeasure M E = outer_measure_of M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 619 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 620 | from \<open>measurable_envelope M A E\<close> have "emeasure M (E \<inter> E) = outer_measure_of M (E \<inter> A)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 621 | by (auto simp: measurable_envelope_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 622 | with measurable_envelopeD[OF E] show "emeasure M E = outer_measure_of M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 623 | by (auto simp: Int_absorb1) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 624 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 625 | |
| 70136 | 626 | lemma\<^marker>\<open>tag important\<close> measurable_envelope_eq2: | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 627 | assumes "A \<subseteq> E" "E \<in> sets M" "emeasure M E < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 628 | shows "measurable_envelope M A E \<longleftrightarrow> (emeasure M E = outer_measure_of M A)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 629 | proof safe | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 630 | assume *: "emeasure M E = outer_measure_of M A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 631 | show "measurable_envelope M A E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 632 | unfolding measurable_envelope_eq1[OF \<open>A \<subseteq> E\<close> \<open>E \<in> sets M\<close>] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 633 | proof (intro conjI ballI impI assms) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 634 | fix F assume F: "F \<in> sets M" "F \<subseteq> E - A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 635 | with \<open>E \<in> sets M\<close> have le: "emeasure M F \<le> emeasure M E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 636 | by (intro emeasure_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 637 | from F \<open>A \<subseteq> E\<close> have "outer_measure_of M A \<le> outer_measure_of M (E - F)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 638 | by (intro outer_measure_of_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 639 | then have "emeasure M E - 0 \<le> emeasure M (E - F)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 640 | using * \<open>E \<in> sets M\<close> \<open>F \<in> sets M\<close> by simp | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 641 | also have "\<dots> = emeasure M E - emeasure M F" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 642 | using \<open>E \<in> sets M\<close> \<open>emeasure M E < \<infinity>\<close> F le by (intro emeasure_Diff) (auto simp: top_unique) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 643 | finally show "emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 644 | using ennreal_mono_minus_cancel[of "emeasure M E" 0 "emeasure M F"] le assms by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 645 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 646 | qed (auto intro: measurable_envelopeD2) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 647 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 648 | lemma measurable_envelopeI_countable: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 649 | fixes A :: "nat \<Rightarrow> 'a set" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 650 | assumes E: "\<And>n. measurable_envelope M (A n) (E n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 651 | shows "measurable_envelope M (\<Union>n. A n) (\<Union>n. E n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 652 | proof (subst measurable_envelope_eq1) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 653 | show "(\<Union>n. A n) \<subseteq> (\<Union>n. E n)" "(\<Union>n. E n) \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 654 | using measurable_envelopeD(1,2)[OF E] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 655 | show "\<forall>F\<in>sets M. F \<subseteq> (\<Union>n. E n) - (\<Union>n. A n) \<longrightarrow> emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 656 | proof safe | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 657 | fix F assume F: "F \<in> sets M" "F \<subseteq> (\<Union>n. E n) - (\<Union>n. A n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 658 | then have "F \<inter> E n \<in> sets M" "F \<inter> E n \<subseteq> E n - A n" "F \<subseteq> (\<Union>n. E n)" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 659 | using measurable_envelopeD(1,2)[OF E] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 660 | then have "emeasure M (\<Union>n. F \<inter> E n) = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 661 | by (intro emeasure_UN_eq_0 measurable_envelopeD1[OF E]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 662 | then show "emeasure M F = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 663 | using \<open>F \<subseteq> (\<Union>n. E n)\<close> by (auto simp: Int_absorb2) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 664 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 665 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 666 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 667 | lemma measurable_envelopeI_countable_cover: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 668 | fixes A and C :: "nat \<Rightarrow> 'a set" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 669 | assumes C: "A \<subseteq> (\<Union>n. C n)" "\<And>n. C n \<in> sets M" "\<And>n. emeasure M (C n) < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 670 | shows "\<exists>E\<subseteq>(\<Union>n. C n). measurable_envelope M A E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 671 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 672 | have "A \<inter> C n \<subseteq> space M" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 673 | using \<open>C n \<in> sets M\<close> by (auto dest: sets.sets_into_space) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 674 | then have "\<forall>n. \<exists>E\<in>sets M. A \<inter> C n \<subseteq> E \<and> outer_measure_of M (A \<inter> C n) = emeasure M E" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 675 | using outer_measure_of_attain[of "A \<inter> C n" M for n] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 676 | then obtain E | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 677 | where E: "\<And>n. E n \<in> sets M" "\<And>n. A \<inter> C n \<subseteq> E n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 678 | and eq: "\<And>n. outer_measure_of M (A \<inter> C n) = emeasure M (E n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 679 | by metis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 680 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 681 | have "outer_measure_of M (A \<inter> C n) \<le> outer_measure_of M (E n \<inter> C n)" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 682 | using E by (intro outer_measure_of_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 683 | moreover have "outer_measure_of M (E n \<inter> C n) \<le> outer_measure_of M (E n)" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 684 | by (intro outer_measure_of_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 685 | ultimately have eq: "outer_measure_of M (A \<inter> C n) = emeasure M (E n \<inter> C n)" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 686 | using E C by (intro antisym) (auto simp: eq) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 687 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 688 |   { fix n
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 689 | have "outer_measure_of M (A \<inter> C n) \<le> outer_measure_of M (C n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 690 | by (intro outer_measure_of_mono) simp | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 691 | also have "\<dots> < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 692 | using assms by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 693 | finally have "emeasure M (E n \<inter> C n) < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 694 | using eq by simp } | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 695 | then have "measurable_envelope M (\<Union>n. A \<inter> C n) (\<Union>n. E n \<inter> C n)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 696 | using E C by (intro measurable_envelopeI_countable measurable_envelope_eq2[THEN iffD2]) (auto simp: eq) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 697 | with \<open>A \<subseteq> (\<Union>n. C n)\<close> show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 698 | by (intro exI[of _ "(\<Union>n. E n \<inter> C n)"]) (auto simp add: Int_absorb2) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 699 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 700 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 701 | lemma (in complete_measure) complete_sets_sandwich: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 702 | assumes [measurable]: "A \<in> sets M" "C \<in> sets M" and subset: "A \<subseteq> B" "B \<subseteq> C" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 703 | and measure: "emeasure M A = emeasure M C" "emeasure M A < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 704 | shows "B \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 705 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 706 | have "B - A \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 707 | proof (rule complete) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 708 | show "B - A \<subseteq> C - A" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 709 | using subset by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 710 | show "C - A \<in> null_sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 711 | using measure subset by(simp add: emeasure_Diff null_setsI) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 712 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 713 | then have "A \<union> (B - A) \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 714 | by measurable | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 715 | also have "A \<union> (B - A) = B" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 716 | using \<open>A \<subseteq> B\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 717 | finally show ?thesis . | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 718 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 719 | |
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 720 | lemma (in complete_measure) complete_sets_sandwich_fmeasurable: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 721 | assumes [measurable]: "A \<in> fmeasurable M" "C \<in> fmeasurable M" and subset: "A \<subseteq> B" "B \<subseteq> C" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 722 | and measure: "measure M A = measure M C" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 723 | shows "B \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 724 | proof (rule fmeasurableI2) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 725 | show "B \<subseteq> C" "C \<in> fmeasurable M" by fact+ | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 726 | show "B \<in> sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 727 | proof (rule complete_sets_sandwich) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 728 | show "A \<in> sets M" "C \<in> sets M" "A \<subseteq> B" "B \<subseteq> C" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 729 | using assms by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 730 | show "emeasure M A < \<infinity>" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 731 | using \<open>A \<in> fmeasurable M\<close> by (auto simp: fmeasurable_def) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 732 | show "emeasure M A = emeasure M C" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 733 | using assms by (simp add: emeasure_eq_measure2) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 734 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 735 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 736 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 737 | lemma AE_completion_iff: "(AE x in completion M. P x) \<longleftrightarrow> (AE x in M. P x)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 738 | proof | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 739 | assume "AE x in completion M. P x" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 740 |   then obtain N where "N \<in> null_sets (completion M)" and P: "{x\<in>space M. \<not> P x} \<subseteq> N"
 | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 741 | unfolding eventually_ae_filter by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 742 | then obtain N' where N': "N' \<in> null_sets M" and "N \<subseteq> N'" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 743 | unfolding null_sets_completion_iff2 by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 744 |   from P \<open>N \<subseteq> N'\<close> have "{x\<in>space M. \<not> P x} \<subseteq> N'"
 | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 745 | by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 746 | with N' show "AE x in M. P x" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 747 | unfolding eventually_ae_filter by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 748 | qed (rule AE_completion) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 749 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 750 | lemma null_part_null_sets: "S \<in> completion M \<Longrightarrow> null_part M S \<in> null_sets (completion M)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 751 | by (auto dest!: null_part intro: null_sets_completionI null_sets_completion_subset) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 752 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 753 | lemma AE_notin_null_part: "S \<in> completion M \<Longrightarrow> (AE x in M. x \<notin> null_part M S)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 754 | by (auto dest!: null_part_null_sets AE_not_in simp: AE_completion_iff) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 755 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 756 | lemma completion_upper: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 757 | assumes A: "A \<in> sets (completion M)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 758 | shows "\<exists>A'\<in>sets M. A \<subseteq> A' \<and> emeasure (completion M) A = emeasure M A'" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 759 | proof - | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 760 | from AE_notin_null_part[OF A] obtain N where N: "N \<in> null_sets M" "null_part M A \<subseteq> N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 761 | unfolding eventually_ae_filter using null_part_null_sets[OF A, THEN null_setsD2, THEN sets.sets_into_space] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 762 | show ?thesis | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 763 | proof (intro bexI conjI) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 764 | show "A \<subseteq> main_part M A \<union> N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 765 | using \<open>null_part M A \<subseteq> N\<close> by (subst main_part_null_part_Un[symmetric, OF A]) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 766 | show "emeasure (completion M) A = emeasure M (main_part M A \<union> N)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 767 | using A \<open>N \<in> null_sets M\<close> by (simp add: emeasure_Un_null_set) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 768 | qed (use A N in auto) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 769 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 770 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 771 | lemma AE_in_main_part: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 772 | assumes A: "A \<in> completion M" shows "AE x in M. x \<in> main_part M A \<longleftrightarrow> x \<in> A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 773 | using AE_notin_null_part[OF A] | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 774 | by (subst (2) main_part_null_part_Un[symmetric, OF A]) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 775 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 776 | lemma completion_density_eq: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 777 | assumes ae: "AE x in M. 0 < f x" and [measurable]: "f \<in> M \<rightarrow>\<^sub>M borel" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 778 | shows "completion (density M f) = density (completion M) f" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 779 | proof (intro measure_eqI) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 780 | have "N' \<in> sets M \<and> (AE x\<in>N' in M. f x = 0) \<longleftrightarrow> N' \<in> null_sets M" for N' | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 781 | proof safe | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 782 | assume N': "N' \<in> sets M" and ae_N': "AE x\<in>N' in M. f x = 0" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 783 | from ae_N' ae have "AE x in M. x \<notin> N'" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 784 | by eventually_elim auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 785 | then show "N' \<in> null_sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 786 | using N' by (simp add: AE_iff_null_sets) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 787 | next | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 788 | assume N': "N' \<in> null_sets M" then show "N' \<in> sets M" "AE x\<in>N' in M. f x = 0" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 789 | using ae AE_not_in[OF N'] by (auto simp: less_le) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 790 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 791 | then show sets_eq: "sets (completion (density M f)) = sets (density (completion M) f)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 792 | by (simp add: sets_completion null_sets_density_iff) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 793 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 794 | fix A assume A: \<open>A \<in> completion (density M f)\<close> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 795 | moreover | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 796 | have "A \<in> completion M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 797 | using A unfolding sets_eq by simp | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 798 | moreover | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 799 | have "main_part (density M f) A \<in> M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 800 | using A main_part_sets[of A "density M f"] unfolding sets_density sets_eq by simp | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 801 | moreover have "AE x in M. x \<in> main_part (density M f) A \<longleftrightarrow> x \<in> A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 802 | using AE_in_main_part[OF \<open>A \<in> completion (density M f)\<close>] ae by (auto simp add: AE_density) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 803 | ultimately show "emeasure (completion (density M f)) A = emeasure (density (completion M) f) A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 804 | by (auto simp add: emeasure_density measurable_completion nn_integral_completion intro!: nn_integral_cong_AE) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 805 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 806 | |
| 64284 
f3b905b2eee2
HOL-Analysis: more theorems from Sébastien Gouëzel's Ergodic_Theory
 hoelzl parents: 
63968diff
changeset | 807 | lemma null_sets_subset: "B \<in> null_sets M \<Longrightarrow> A \<in> sets M \<Longrightarrow> A \<subseteq> B \<Longrightarrow> A \<in> null_sets M" | 
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 808 | using emeasure_mono[of A B M] by (simp add: null_sets_def) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 809 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 810 | lemma (in complete_measure) complete2: "A \<subseteq> B \<Longrightarrow> B \<in> null_sets M \<Longrightarrow> A \<in> null_sets M" | 
| 64284 
f3b905b2eee2
HOL-Analysis: more theorems from Sébastien Gouëzel's Ergodic_Theory
 hoelzl parents: 
63968diff
changeset | 811 | using complete[of A B] null_sets_subset[of B M A] by simp | 
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 812 | |
| 63959 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 813 | lemma (in complete_measure) AE_iff_null_sets: "(AE x in M. P x) \<longleftrightarrow> {x\<in>space M. \<not> P x} \<in> null_sets M"
 | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 814 | unfolding eventually_ae_filter by (auto intro: complete2) | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 815 | |
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 816 | lemma (in complete_measure) null_sets_iff_AE: "A \<in> null_sets M \<longleftrightarrow> ((AE x in M. x \<notin> A) \<and> A \<subseteq> space M)" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 817 | unfolding AE_iff_null_sets by (auto cong: rev_conj_cong dest: sets.sets_into_space simp: subset_eq) | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 818 | |
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 819 | lemma (in complete_measure) in_sets_AE: | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 820 | assumes ae: "AE x in M. x \<in> A \<longleftrightarrow> x \<in> B" and A: "A \<in> sets M" and B: "B \<subseteq> space M" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 821 | shows "B \<in> sets M" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 822 | proof - | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 823 | have "(AE x in M. x \<notin> B - A \<and> x \<notin> A - B)" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 824 | using ae by eventually_elim auto | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 825 | then have "B - A \<in> null_sets M" "A - B \<in> null_sets M" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 826 | using A B unfolding null_sets_iff_AE by (auto dest: sets.sets_into_space) | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 827 | then have "A \<union> (B - A) - (A - B) \<in> sets M" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 828 | using A by blast | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 829 | also have "A \<union> (B - A) - (A - B) = B" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 830 | by auto | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 831 | finally show "B \<in> sets M" . | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 832 | qed | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 833 | |
| 63958 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 834 | lemma (in complete_measure) vimage_null_part_null_sets: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 835 | assumes f: "f \<in> M \<rightarrow>\<^sub>M N" and eq: "null_sets N \<subseteq> null_sets (distr M N f)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 836 | and A: "A \<in> completion N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 837 | shows "f -` null_part N A \<inter> space M \<in> null_sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 838 | proof - | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 839 | obtain N' where "N' \<in> null_sets N" "null_part N A \<subseteq> N'" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 840 | using null_part[OF A] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 841 | then have N': "N' \<in> null_sets (distr M N f)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 842 | using eq by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 843 | show ?thesis | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 844 | proof (rule complete2) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 845 | show "f -` null_part N A \<inter> space M \<subseteq> f -` N' \<inter> space M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 846 | using \<open>null_part N A \<subseteq> N'\<close> by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 847 | show "f -` N' \<inter> space M \<in> null_sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 848 | using f N' by (auto simp: null_sets_def emeasure_distr) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 849 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 850 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 851 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 852 | lemma (in complete_measure) vimage_null_part_sets: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 853 | "f \<in> M \<rightarrow>\<^sub>M N \<Longrightarrow> null_sets N \<subseteq> null_sets (distr M N f) \<Longrightarrow> A \<in> completion N \<Longrightarrow> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 854 | f -` null_part N A \<inter> space M \<in> sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 855 | using vimage_null_part_null_sets[of f N A] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 856 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 857 | lemma (in complete_measure) measurable_completion2: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 858 | assumes f: "f \<in> M \<rightarrow>\<^sub>M N" and null_sets: "null_sets N \<subseteq> null_sets (distr M N f)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 859 | shows "f \<in> M \<rightarrow>\<^sub>M completion N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 860 | proof (rule measurableI) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 861 | show "x \<in> space M \<Longrightarrow> f x \<in> space (completion N)" for x | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 862 | using f[THEN measurable_space] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 863 | fix A assume A: "A \<in> sets (completion N)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 864 | have "f -` A \<inter> space M = (f -` main_part N A \<inter> space M) \<union> (f -` null_part N A \<inter> space M)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 865 | using main_part_null_part_Un[OF A] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 866 | then show "f -` A \<inter> space M \<in> sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 867 | using f A null_sets by (auto intro: vimage_null_part_sets measurable_sets) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 868 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 869 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 870 | lemma (in complete_measure) completion_distr_eq: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 871 | assumes X: "X \<in> M \<rightarrow>\<^sub>M N" and null_sets: "null_sets (distr M N X) = null_sets N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 872 | shows "completion (distr M N X) = distr M (completion N) X" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 873 | proof (rule measure_eqI) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 874 | show eq: "sets (completion (distr M N X)) = sets (distr M (completion N) X)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 875 | by (simp add: sets_completion null_sets) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 876 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 877 | fix A assume A: "A \<in> completion (distr M N X)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 878 | moreover have A': "A \<in> completion N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 879 | using A by (simp add: eq) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 880 | moreover have "main_part (distr M N X) A \<in> sets N" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 881 | using main_part_sets[OF A] by simp | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 882 | moreover have "X -` A \<inter> space M = (X -` main_part (distr M N X) A \<inter> space M) \<union> (X -` null_part (distr M N X) A \<inter> space M)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 883 | using main_part_null_part_Un[OF A] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 884 | moreover have "X -` null_part (distr M N X) A \<inter> space M \<in> null_sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 885 | using X A by (intro vimage_null_part_null_sets) (auto cong: distr_cong) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 886 | ultimately show "emeasure (completion (distr M N X)) A = emeasure (distr M (completion N) X) A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 887 | using X by (auto simp: emeasure_distr measurable_completion null_sets measurable_completion2 | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 888 | intro!: emeasure_Un_null_set[symmetric]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 889 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 890 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 891 | lemma distr_completion: "X \<in> M \<rightarrow>\<^sub>M N \<Longrightarrow> distr (completion M) N X = distr M N X" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 892 | by (intro measure_eqI) (auto simp: emeasure_distr measurable_completion) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 893 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 894 | proposition (in complete_measure) fmeasurable_inner_outer: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 895 | "S \<in> fmeasurable M \<longleftrightarrow> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 896 | (\<forall>e>0. \<exists>T\<in>fmeasurable M. \<exists>U\<in>fmeasurable M. T \<subseteq> S \<and> S \<subseteq> U \<and> \<bar>measure M T - measure M U\<bar> < e)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 897 | (is "_ \<longleftrightarrow> ?approx") | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 898 | proof safe | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 899 | let ?\<mu> = "measure M" let ?D = "\<lambda>T U . \<bar>?\<mu> T - ?\<mu> U\<bar>" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 900 | assume ?approx | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 901 | have "\<exists>A. \<forall>n. (fst (A n) \<in> fmeasurable M \<and> snd (A n) \<in> fmeasurable M \<and> fst (A n) \<subseteq> S \<and> S \<subseteq> snd (A n) \<and> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 902 | ?D (fst (A n)) (snd (A n)) < 1/Suc n) \<and> (fst (A n) \<subseteq> fst (A (Suc n)) \<and> snd (A (Suc n)) \<subseteq> snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 903 | (is "\<exists>A. \<forall>n. ?P n (A n) \<and> ?Q (A n) (A (Suc n))") | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 904 | proof (intro dependent_nat_choice) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 905 | show "\<exists>A. ?P 0 A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 906 | using \<open>?approx\<close>[THEN spec, of 1] by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 907 | next | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 908 | fix A n assume "?P n A" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 909 | moreover | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 910 | from \<open>?approx\<close>[THEN spec, of "1/Suc (Suc n)"] | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 911 | obtain T U where *: "T \<in> fmeasurable M" "U \<in> fmeasurable M" "T \<subseteq> S" "S \<subseteq> U" "?D T U < 1 / Suc (Suc n)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 912 | by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 913 | ultimately have "?\<mu> T \<le> ?\<mu> (T \<union> fst A)" "?\<mu> (U \<inter> snd A) \<le> ?\<mu> U" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 914 | "?\<mu> T \<le> ?\<mu> U" "?\<mu> (T \<union> fst A) \<le> ?\<mu> (U \<inter> snd A)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 915 | by (auto intro!: measure_mono_fmeasurable) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 916 | then have "?D (T \<union> fst A) (U \<inter> snd A) \<le> ?D T U" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 917 | by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 918 | also have "?D T U < 1/Suc (Suc n)" by fact | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 919 | finally show "\<exists>B. ?P (Suc n) B \<and> ?Q A B" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 920 | using \<open>?P n A\<close> * | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 921 | by (intro exI[of _ "(T \<union> fst A, U \<inter> snd A)"] conjI) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 922 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 923 | then obtain A | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 924 | where lm: "\<And>n. fst (A n) \<in> fmeasurable M" "\<And>n. snd (A n) \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 925 | and set_bound: "\<And>n. fst (A n) \<subseteq> S" "\<And>n. S \<subseteq> snd (A n)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 926 | and mono: "\<And>n. fst (A n) \<subseteq> fst (A (Suc n))" "\<And>n. snd (A (Suc n)) \<subseteq> snd (A n)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 927 | and bound: "\<And>n. ?D (fst (A n)) (snd (A n)) < 1/Suc n" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 928 | by metis | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 929 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 930 | have INT_sA: "(\<Inter>n. snd (A n)) \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 931 | using lm by (intro fmeasurable_INT[of _ 0]) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 932 | have UN_fA: "(\<Union>n. fst (A n)) \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 933 | using lm order_trans[OF set_bound(1) set_bound(2)[of 0]] by (intro fmeasurable_UN[of _ _ "snd (A 0)"]) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 934 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 935 | have "(\<lambda>n. ?\<mu> (fst (A n)) - ?\<mu> (snd (A n))) \<longlonglongrightarrow> 0" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 936 | using bound | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 937 | by (subst tendsto_rabs_zero_iff[symmetric]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 938 | (intro tendsto_sandwich[OF _ _ tendsto_const LIMSEQ_inverse_real_of_nat]; | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 939 | auto intro!: always_eventually less_imp_le simp: divide_inverse) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 940 | moreover | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 941 | have "(\<lambda>n. ?\<mu> (fst (A n)) - ?\<mu> (snd (A n))) \<longlonglongrightarrow> ?\<mu> (\<Union>n. fst (A n)) - ?\<mu> (\<Inter>n. snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 942 | proof (intro tendsto_diff Lim_measure_incseq Lim_measure_decseq) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 943 | show "range (\<lambda>i. fst (A i)) \<subseteq> sets M" "range (\<lambda>i. snd (A i)) \<subseteq> sets M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 944 | "incseq (\<lambda>i. fst (A i))" "decseq (\<lambda>n. snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 945 | using mono lm by (auto simp: incseq_Suc_iff decseq_Suc_iff intro!: measure_mono_fmeasurable) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 946 | show "emeasure M (\<Union>x. fst (A x)) \<noteq> \<infinity>" "emeasure M (snd (A n)) \<noteq> \<infinity>" for n | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 947 | using lm(2)[of n] UN_fA by (auto simp: fmeasurable_def) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 948 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 949 | ultimately have eq: "0 = ?\<mu> (\<Union>n. fst (A n)) - ?\<mu> (\<Inter>n. snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 950 | by (rule LIMSEQ_unique) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 951 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 952 | show "S \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 953 | using UN_fA INT_sA | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 954 | proof (rule complete_sets_sandwich_fmeasurable) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 955 | show "(\<Union>n. fst (A n)) \<subseteq> S" "S \<subseteq> (\<Inter>n. snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 956 | using set_bound by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 957 | show "?\<mu> (\<Union>n. fst (A n)) = ?\<mu> (\<Inter>n. snd (A n))" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 958 | using eq by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 959 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 960 | qed (auto intro!: bexI[of _ S]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 961 | |
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 962 | lemma (in complete_measure) fmeasurable_measure_inner_outer: | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 963 | "(S \<in> fmeasurable M \<and> m = measure M S) \<longleftrightarrow> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 964 | (\<forall>e>0. \<exists>T\<in>fmeasurable M. T \<subseteq> S \<and> m - e < measure M T) \<and> | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 965 | (\<forall>e>0. \<exists>U\<in>fmeasurable M. S \<subseteq> U \<and> measure M U < m + e)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 966 | (is "?lhs = ?rhs") | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 967 | proof | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 968 | assume RHS: ?rhs | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 969 | then have T: "\<And>e. 0 < e \<longrightarrow> (\<exists>T\<in>fmeasurable M. T \<subseteq> S \<and> m - e < measure M T)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 970 | and U: "\<And>e. 0 < e \<longrightarrow> (\<exists>U\<in>fmeasurable M. S \<subseteq> U \<and> measure M U < m + e)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 971 | by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 972 | have "S \<in> fmeasurable M" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 973 | proof (subst fmeasurable_inner_outer, safe) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 974 | fix e::real assume "0 < e" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 975 | with RHS obtain T U where T: "T \<in> fmeasurable M" "T \<subseteq> S" "m - e/2 < measure M T" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 976 | and U: "U \<in> fmeasurable M" "S \<subseteq> U" "measure M U < m + e/2" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 977 | by (meson half_gt_zero)+ | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 978 | moreover have "measure M U - measure M T < (m + e/2) - (m - e/2)" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 979 | by (intro diff_strict_mono) fact+ | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 980 | moreover have "measure M T \<le> measure M U" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 981 | using T U by (intro measure_mono_fmeasurable) auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 982 | ultimately show "\<exists>T\<in>fmeasurable M. \<exists>U\<in>fmeasurable M. T \<subseteq> S \<and> S \<subseteq> U \<and> \<bar>measure M T - measure M U\<bar> < e" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 983 | apply (rule_tac bexI[OF _ \<open>T \<in> fmeasurable M\<close>]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 984 | apply (rule_tac bexI[OF _ \<open>U \<in> fmeasurable M\<close>]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 985 | by auto | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 986 | qed | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 987 | moreover have "m = measure M S" | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 988 | using \<open>S \<in> fmeasurable M\<close> U[of "measure M S - m"] T[of "m - measure M S"] | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 989 | by (cases m "measure M S" rule: linorder_cases) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 990 | (auto simp: not_le[symmetric] measure_mono_fmeasurable) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 991 | ultimately show ?lhs | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 992 | by simp | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 993 | qed (auto intro!: bexI[of _ S]) | 
| 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 hoelzl parents: 
63941diff
changeset | 994 | |
| 63959 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 995 | lemma (in complete_measure) null_sets_outer: | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 996 | "S \<in> null_sets M \<longleftrightarrow> (\<forall>e>0. \<exists>T\<in>fmeasurable M. S \<subseteq> T \<and> measure M T < e)" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 997 | proof - | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 998 | have "S \<in> null_sets M \<longleftrightarrow> (S \<in> fmeasurable M \<and> 0 = measure M S)" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 999 | by (auto simp: null_sets_def emeasure_eq_measure2 intro: fmeasurableI) (simp add: measure_def) | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 1000 | also have "\<dots> = (\<forall>e>0. \<exists>T\<in>fmeasurable M. S \<subseteq> T \<and> measure M T < e)" | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 1001 | unfolding fmeasurable_measure_inner_outer by auto | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 1002 | finally show ?thesis . | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 1003 | qed | 
| 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 hoelzl parents: 
63958diff
changeset | 1004 | |
| 67982 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1005 | lemma (in complete_measure) fmeasurable_measure_inner_outer_le: | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1006 | "(S \<in> fmeasurable M \<and> m = measure M S) \<longleftrightarrow> | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1007 | (\<forall>e>0. \<exists>T\<in>fmeasurable M. T \<subseteq> S \<and> m - e \<le> measure M T) \<and> | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1008 | (\<forall>e>0. \<exists>U\<in>fmeasurable M. S \<subseteq> U \<and> measure M U \<le> m + e)" (is ?T1) | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1009 | and null_sets_outer_le: | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1010 | "S \<in> null_sets M \<longleftrightarrow> (\<forall>e>0. \<exists>T\<in>fmeasurable M. S \<subseteq> T \<and> measure M T \<le> e)" (is ?T2) | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1011 | proof - | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1012 | have "e > 0 \<and> m - e/2 \<le> t \<Longrightarrow> m - e < t" | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1013 | "e > 0 \<and> t \<le> m + e/2 \<Longrightarrow> t < m + e" | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1014 | "e > 0 \<longleftrightarrow> e/2 > 0" | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1015 | for e t | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1016 | by auto | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1017 | then show ?T1 ?T2 | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1018 | unfolding fmeasurable_measure_inner_outer null_sets_outer | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1019 | by (meson dense le_less_trans less_imp_le)+ | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1020 | qed | 
| 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 paulson <lp15@cam.ac.uk> parents: 
64284diff
changeset | 1021 | |
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1022 | lemma (in cld_measure) notin_sets_outer_measure_of_cover: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1023 | assumes E: "E \<subseteq> space M" "E \<notin> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1024 | shows "\<exists>B\<in>sets M. 0 < emeasure M B \<and> emeasure M B < \<infinity> \<and> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1025 | outer_measure_of M (B \<inter> E) = emeasure M B \<and> outer_measure_of M (B - E) = emeasure M B" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1026 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1027 | from locally_determined[OF \<open>E \<subseteq> space M\<close>] \<open>E \<notin> sets M\<close> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1028 | obtain F | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1029 | where [measurable]: "F \<in> sets M" and "emeasure M F < \<infinity>" "E \<inter> F \<notin> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1030 | by blast | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1031 | then obtain H H' | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1032 | where H: "measurable_envelope M (F \<inter> E) H" and H': "measurable_envelope M (F - E) H'" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1033 | using measurable_envelopeI_countable_cover[of "F \<inter> E" "\<lambda>_. F" M] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1034 | measurable_envelopeI_countable_cover[of "F - E" "\<lambda>_. F" M] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1035 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1036 | note measurable_envelopeD(2)[OF H', measurable] measurable_envelopeD(2)[OF H, measurable] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1037 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1038 | from measurable_envelopeD(1)[OF H'] measurable_envelopeD(1)[OF H] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1039 | have subset: "F - H' \<subseteq> F \<inter> E" "F \<inter> E \<subseteq> F \<inter> H" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1040 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1041 | moreover define G where "G = (F \<inter> H) - (F - H')" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1042 | ultimately have G: "G = F \<inter> H \<inter> H'" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1043 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1044 | have "emeasure M (F \<inter> H) \<noteq> 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1045 | proof | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1046 | assume "emeasure M (F \<inter> H) = 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1047 | then have "F \<inter> H \<in> null_sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1048 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1049 | with \<open>E \<inter> F \<notin> sets M\<close> show False | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1050 | using complete[OF \<open>F \<inter> E \<subseteq> F \<inter> H\<close>] by (auto simp: Int_commute) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1051 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1052 | moreover | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1053 | have "emeasure M (F - H') \<noteq> emeasure M (F \<inter> H)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1054 | proof | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1055 | assume "emeasure M (F - H') = emeasure M (F \<inter> H)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1056 | with \<open>E \<inter> F \<notin> sets M\<close> emeasure_mono[of "F \<inter> H" F M] \<open>emeasure M F < \<infinity>\<close> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1057 | have "F \<inter> E \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1058 | by (intro complete_sets_sandwich[OF _ _ subset]) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1059 | with \<open>E \<inter> F \<notin> sets M\<close> show False | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1060 | by (simp add: Int_commute) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1061 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1062 | moreover have "emeasure M (F - H') \<le> emeasure M (F \<inter> H)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1063 | using subset by (intro emeasure_mono) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1064 | ultimately have "emeasure M G \<noteq> 0" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1065 | unfolding G_def using subset | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1066 | by (subst emeasure_Diff) (auto simp: top_unique diff_eq_0_iff_ennreal) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1067 | show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1068 | proof (intro bexI conjI) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1069 | have "emeasure M G \<le> emeasure M F" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1070 | unfolding G by (auto intro!: emeasure_mono) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1071 | with \<open>emeasure M F < \<infinity>\<close> show "0 < emeasure M G" "emeasure M G < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1072 | using \<open>emeasure M G \<noteq> 0\<close> by (auto simp: zero_less_iff_neq_zero) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1073 | show [measurable]: "G \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1074 | unfolding G by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1075 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1076 | have "emeasure M G = outer_measure_of M (F \<inter> H' \<inter> (F \<inter> E))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1077 | using measurable_envelopeD(3)[OF H, of "F \<inter> H'"] unfolding G by (simp add: ac_simps) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1078 | also have "\<dots> \<le> outer_measure_of M (G \<inter> E)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1079 | using measurable_envelopeD(1)[OF H] by (intro outer_measure_of_mono) (auto simp: G) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1080 | finally show "outer_measure_of M (G \<inter> E) = emeasure M G" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1081 | using outer_measure_of_mono[of "G \<inter> E" G M] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1082 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1083 | have "emeasure M G = outer_measure_of M (F \<inter> H \<inter> (F - E))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1084 | using measurable_envelopeD(3)[OF H', of "F \<inter> H"] unfolding G by (simp add: ac_simps) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1085 | also have "\<dots> \<le> outer_measure_of M (G - E)" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1086 | using measurable_envelopeD(1)[OF H'] by (intro outer_measure_of_mono) (auto simp: G) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1087 | finally show "outer_measure_of M (G - E) = emeasure M G" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1088 | using outer_measure_of_mono[of "G - E" G M] by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1089 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1090 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1091 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1092 | text \<open>The following theorem is a specialization of D.H. Fremlin, Measure Theory vol 4I (413G). We | 
| 69566 | 1093 | only show one direction and do not use a inner regular family \<open>K\<close>.\<close> | 
| 63940 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1094 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1095 | lemma (in cld_measure) borel_measurable_cld: | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1096 | fixes f :: "'a \<Rightarrow> real" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1097 | assumes "\<And>A a b. A \<in> sets M \<Longrightarrow> 0 < emeasure M A \<Longrightarrow> emeasure M A < \<infinity> \<Longrightarrow> a < b \<Longrightarrow> | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1098 |       min (outer_measure_of M {x\<in>A. f x \<le> a}) (outer_measure_of M {x\<in>A. b \<le> f x}) < emeasure M A"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1099 | shows "f \<in> M \<rightarrow>\<^sub>M borel" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1100 | proof (rule ccontr) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1101 |   let ?E = "\<lambda>a. {x\<in>space M. f x \<le> a}" and ?F = "\<lambda>a. {x\<in>space M. a \<le> f x}"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1102 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1103 | assume "f \<notin> M \<rightarrow>\<^sub>M borel" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1104 | then obtain a where "?E a \<notin> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1105 | unfolding borel_measurable_iff_le by blast | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1106 | from notin_sets_outer_measure_of_cover[OF _ this] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1107 | obtain K | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1108 | where K: "K \<in> sets M" "0 < emeasure M K" "emeasure M K < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1109 | and eq1: "outer_measure_of M (K \<inter> ?E a) = emeasure M K" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1110 | and eq2: "outer_measure_of M (K - ?E a) = emeasure M K" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1111 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1112 | then have me_K: "measurable_envelope M (K \<inter> ?E a) K" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1113 | by (subst measurable_envelope_eq2) auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1114 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1115 | define b where "b n = a + inverse (real (Suc n))" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1116 | have "(SUP n. outer_measure_of M (K \<inter> ?F (b n))) = outer_measure_of M (\<Union>n. K \<inter> ?F (b n))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1117 | proof (intro SUP_outer_measure_of_incseq) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1118 | have "x \<le> y \<Longrightarrow> b y \<le> b x" for x y | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1119 | by (auto simp: b_def field_simps) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1120 |     then show "incseq (\<lambda>n. K \<inter> {x \<in> space M. b n \<le> f x})"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1121 | by (auto simp: incseq_def intro: order_trans) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1122 | qed auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1123 | also have "(\<Union>n. K \<inter> ?F (b n)) = K - ?E a" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1124 | proof - | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1125 | have "b \<longlonglongrightarrow> a" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1126 | unfolding b_def by (rule LIMSEQ_inverse_real_of_nat_add) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1127 | then have "\<forall>n. \<not> b n \<le> f x \<Longrightarrow> f x \<le> a" for x | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1128 | by (rule LIMSEQ_le_const) (auto intro: less_imp_le simp: not_le) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1129 | moreover have "\<not> b n \<le> a" for n | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1130 | by (auto simp: b_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1131 | ultimately show ?thesis | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1132 | using \<open>K \<in> sets M\<close>[THEN sets.sets_into_space] by (auto simp: subset_eq intro: order_trans) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1133 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1134 | finally have "0 < (SUP n. outer_measure_of M (K \<inter> ?F (b n)))" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1135 | using K by (simp add: eq2) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1136 | then obtain n where pos_b: "0 < outer_measure_of M (K \<inter> ?F (b n))" and "a < b n" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1137 | unfolding less_SUP_iff by (auto simp: b_def) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1138 | from measurable_envelopeI_countable_cover[of "K \<inter> ?F (b n)" "\<lambda>_. K" M] K | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1139 | obtain K' where "K' \<subseteq> K" and me_K': "measurable_envelope M (K \<inter> ?F (b n)) K'" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1140 | by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1141 | then have K'_le_K: "emeasure M K' \<le> emeasure M K" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1142 | by (intro emeasure_mono K) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1143 | have "K' \<in> sets M" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1144 | using me_K' by (rule measurable_envelopeD) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1145 | |
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1146 |   have "min (outer_measure_of M {x\<in>K'. f x \<le> a}) (outer_measure_of M {x\<in>K'. b n \<le> f x}) < emeasure M K'"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1147 | proof (rule assms) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1148 | show "0 < emeasure M K'" "emeasure M K' < \<infinity>" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1149 | using measurable_envelopeD2[OF me_K'] pos_b K K'_le_K by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1150 | qed fact+ | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1151 |   also have "{x\<in>K'. f x \<le> a} = K' \<inter> (K \<inter> ?E a)"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1152 | using \<open>K' \<in> sets M\<close>[THEN sets.sets_into_space] \<open>K' \<subseteq> K\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1153 |   also have "{x\<in>K'. b n \<le> f x} = K' \<inter> (K \<inter> ?F (b n))"
 | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1154 | using \<open>K' \<in> sets M\<close>[THEN sets.sets_into_space] \<open>K' \<subseteq> K\<close> by auto | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1155 | finally have "min (emeasure M K) (emeasure M K') < emeasure M K'" | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1156 | unfolding | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1157 | measurable_envelopeD(3)[OF me_K \<open>K' \<in> sets M\<close>, symmetric] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1158 | measurable_envelopeD(3)[OF me_K' \<open>K' \<in> sets M\<close>, symmetric] | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1159 | using \<open>K' \<subseteq> K\<close> by (simp add: Int_absorb1 Int_absorb2) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1160 | with K'_le_K show False | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1161 | by (auto simp: min_def split: if_split_asm) | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1162 | qed | 
| 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 hoelzl parents: 
63627diff
changeset | 1163 | |
| 40859 | 1164 | end |