| author | wenzelm | 
| Wed, 20 Oct 2021 17:11:46 +0200 | |
| changeset 74560 | 5c8177fd1295 | 
| 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: 
62975 
diff
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: 
63627 
diff
changeset
 | 
10  | 
fixes M :: "'a measure"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
41097 
diff
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: 
41097 
diff
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: 
47694 
diff
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: 
47694 
diff
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: 
63941 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
41097 
diff
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: 
62390 
diff
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: 
63959 
diff
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: 
63959 
diff
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: 
63959 
diff
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: 
61808 
diff
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: 
62390 
diff
changeset
 | 
289  | 
fixes g :: "'a \<Rightarrow> ennreal"  | 
| 
 
1d066f6ab25d
Probability: move emeasure and nn_integral from ereal to ennreal
 
hoelzl 
parents: 
62390 
diff
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: 
41959 
diff
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: 
56993 
diff
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: 
56993 
diff
changeset
 | 
318  | 
by (auto simp: null_sets_def)  | 
| 
 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 
hoelzl 
parents: 
56993 
diff
changeset
 | 
319  | 
|
| 
 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 
hoelzl 
parents: 
56993 
diff
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: 
56993 
diff
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: 
56993 
diff
changeset
 | 
322  | 
|
| 
 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 
hoelzl 
parents: 
56993 
diff
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: 
56993 
diff
changeset
 | 
324  | 
by (auto simp: null_sets_def)  | 
| 
 
5484f6079bcd
add type for probability mass functions, i.e. discrete probability distribution
 
hoelzl 
parents: 
56993 
diff
changeset
 | 
325  | 
|
| 
63940
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
328  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
329  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
332  | 
proof safe  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
339  | 
proof (intro bexI)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
342  | 
qed auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
343  | 
next  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
350  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
351  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
352  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
356  | 
|
| 
63958
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
358  | 
proof  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
361  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
362  | 
|
| 
63940
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63940 
diff
changeset
 | 
366  | 
|
| 
63940
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
371  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
373  | 
using g by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
380  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
383  | 
show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
384  | 
proof  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
390  | 
apply eventually_elim  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
391  | 
subgoal for x  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
393  | 
done  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
394  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
395  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
396  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
399  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
400  | 
lemma simple_integral_completion:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
403  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
405  | 
unfolding nn_integral_def  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
423  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
424  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
433  | 
qed fact  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
434  | 
next  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
438  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
439  | 
|
| 
63958
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
440  | 
lemma integrable_completion:  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
444  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
445  | 
lemma integral_completion:  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63627 
diff
changeset
 | 
451  | 
fixes M :: "'a measure"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
452  | 
assumes semifinite:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
456  | 
assumes locally_determined:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
67982 
diff
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: 
63627 
diff
changeset
 | 
464  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
467  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
470  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
474  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
478  | 
obtain f  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
486  | 
next  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
492  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
493  | 
then obtain E  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
497  | 
and "decseq E"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
499  | 
show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
500  | 
proof cases  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
502  | 
show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
506  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
513  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
517  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
518  | 
next  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
523  | 
using f by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
524  | 
ultimately show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
526  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
527  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
528  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
532  | 
proof (rule antisym)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
533  | 
obtain E  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
536  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
542  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
544  | 
proof (intro antisym)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
548  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
551  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
552  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
564  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
565  | 
lemma measurable_envelopeD:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
567  | 
shows "A \<subseteq> E"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
572  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
573  | 
lemma measurable_envelopeD1:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
576  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
584  | 
by simp  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
585  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
586  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
587  | 
lemma measurable_envelope_eq1:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
590  | 
proof safe  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
593  | 
unfolding measurable_envelope_def  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
602  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
606  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
608  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
611  | 
also have "\<dots> > 0"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
614  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
615  | 
qed (rule measurable_envelopeD1)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
616  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
617  | 
lemma measurable_envelopeD2:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
619  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
624  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
629  | 
proof safe  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
645  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
647  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
648  | 
lemma measurable_envelopeI_countable:  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
656  | 
proof safe  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
664  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
665  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
666  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
671  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
676  | 
then obtain E  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
679  | 
by metis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
680  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
687  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
688  | 
  { fix n
 | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
691  | 
also have "\<dots> < \<infinity>"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
692  | 
using assms by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
694  | 
using eq by simp }  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
699  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
700  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
705  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
707  | 
proof (rule complete)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
709  | 
using subset by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
712  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
714  | 
by measurable  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
717  | 
finally show ?thesis .  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
718  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
719  | 
|
| 
63958
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
724  | 
proof (rule fmeasurableI2)  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
734  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
735  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
736  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
738  | 
proof  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
745  | 
by auto  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
749  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
752  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
755  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
756  | 
lemma completion_upper:  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
759  | 
proof -  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
762  | 
show ?thesis  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
769  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
770  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
775  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
781  | 
proof safe  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
787  | 
next  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
790  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
793  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
795  | 
moreover  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
798  | 
moreover  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
805  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
806  | 
|
| 
64284
 
f3b905b2eee2
HOL-Analysis: more theorems from Sébastien Gouëzel's Ergodic_Theory
 
hoelzl 
parents: 
63968 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
809  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63968 
diff
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: 
63941 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
changeset
 | 
815  | 
|
| 
 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 
hoelzl 
parents: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
changeset
 | 
818  | 
|
| 
 
f77dca1abf1b
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
 
hoelzl 
parents: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
changeset
 | 
833  | 
|
| 
63958
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
838  | 
proof -  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
843  | 
show ?thesis  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
844  | 
proof (rule complete2)  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
849  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
850  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
851  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
856  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
860  | 
proof (rule measurableI)  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
868  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
869  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
876  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
889  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
890  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
893  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
897  | 
(is "_ \<longleftrightarrow> ?approx")  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
898  | 
proof safe  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
900  | 
assume ?approx  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
907  | 
next  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
909  | 
moreover  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
912  | 
by auto  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
917  | 
by auto  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
922  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
923  | 
then obtain A  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
928  | 
by metis  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
929  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
934  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
936  | 
using bound  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
940  | 
moreover  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
948  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
951  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
959  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
changeset
 | 
961  | 
|
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
966  | 
(is "?lhs = ?rhs")  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
967  | 
proof  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
968  | 
assume RHS: ?rhs  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
971  | 
by auto  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
985  | 
by auto  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
986  | 
qed  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
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: 
63941 
diff
changeset
 | 
991  | 
ultimately show ?lhs  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
changeset
 | 
992  | 
by simp  | 
| 
 
02de4a58e210
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
 
hoelzl 
parents: 
63941 
diff
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: 
63941 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
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: 
63958 
diff
changeset
 | 
1004  | 
|
| 
67982
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
changeset
 | 
1011  | 
proof -  | 
| 
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
changeset
 | 
1015  | 
for e t  | 
| 
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
changeset
 | 
1016  | 
by auto  | 
| 
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
changeset
 | 
1017  | 
then show ?T1 ?T2  | 
| 
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
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: 
64284 
diff
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: 
64284 
diff
changeset
 | 
1020  | 
qed  | 
| 
 
7643b005b29a
various new results on measures, integrals, etc., and some simplified proofs
 
paulson <lp15@cam.ac.uk> 
parents: 
64284 
diff
changeset
 | 
1021  | 
|
| 
63940
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1026  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1028  | 
obtain F  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1030  | 
by blast  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1031  | 
then obtain H H'  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1035  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1037  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1040  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1043  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1045  | 
proof  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1048  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1051  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1052  | 
moreover  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1054  | 
proof  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1061  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1067  | 
show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1068  | 
proof (intro bexI conjI)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1074  | 
unfolding G by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1075  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1082  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1089  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1090  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1091  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1094  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1100  | 
proof (rule ccontr)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1102  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1107  | 
obtain K  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1111  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1114  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1122  | 
qed auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1124  | 
proof -  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1125  | 
have "b \<longlonglongrightarrow> a"  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1131  | 
ultimately show ?thesis  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1133  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1140  | 
by auto  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1145  | 
|
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1147  | 
proof (rule assms)  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1150  | 
qed fact+  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1156  | 
unfolding  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
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: 
63627 
diff
changeset
 | 
1162  | 
qed  | 
| 
 
0d82c4c94014
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
 
hoelzl 
parents: 
63627 
diff
changeset
 | 
1163  | 
|
| 40859 | 1164  | 
end  |