diff -r 9cf0b79dfb7f -r b7b9cbe0bd43 src/HOL/Analysis/Complete_Measure.thy --- a/src/HOL/Analysis/Complete_Measure.thy Mon Dec 10 23:36:29 2018 +0100 +++ b/src/HOL/Analysis/Complete_Measure.thy Wed Dec 12 13:32:06 2018 +0100 @@ -1,26 +1,26 @@ (* Title: HOL/Analysis/Complete_Measure.thy Author: Robert Himmelmann, Johannes Hoelzl, TU Muenchen *) - +section \Complete Measures\ theory Complete_Measure imports Bochner_Integration begin -locale complete_measure = +locale%important complete_measure = fixes M :: "'a measure" assumes complete: "\A B. B \ A \ A \ null_sets M \ B \ sets M" -definition +definition%important "split_completion M A p = (if A \ sets M then p = (A, {}) else \N'. A = fst p \ snd p \ fst p \ snd p = {} \ fst p \ sets M \ snd p \ N' \ N' \ null_sets M)" -definition +definition%important "main_part M A = fst (Eps (split_completion M A))" -definition +definition%important "null_part M A = snd (Eps (split_completion M A))" -definition completion :: "'a measure \ 'a measure" where +definition%important completion :: "'a measure \ 'a measure" where "completion M = measure_of (space M) { S \ N |S N N'. S \ sets M \ N' \ null_sets M \ N \ N' } (emeasure M \ main_part M)" @@ -67,9 +67,10 @@ by (intro completionI[of _ "\(S ` UNIV)" "\(N ` UNIV)" "\(N' ` UNIV)"]) auto qed -lemma sets_completion: +lemma%important sets_completion: "sets (completion M) = { S \ N |S N N'. S \ sets M \ N' \ null_sets M \ N \ N' }" - using sigma_algebra.sets_measure_of_eq[OF sigma_algebra_completion] by (simp add: completion_def) + using%unimportant sigma_algebra.sets_measure_of_eq[OF sigma_algebra_completion] + by (simp add: completion_def) lemma sets_completionE: assumes "A \ sets (completion M)" @@ -85,17 +86,17 @@ "A \ sets M \ A \ sets (completion M)" unfolding sets_completion by force -lemma measurable_completion: "f \ M \\<^sub>M N \ f \ completion M \\<^sub>M N" - by (auto simp: measurable_def) +lemma%important measurable_completion: "f \ M \\<^sub>M N \ f \ completion M \\<^sub>M N" + by%unimportant (auto simp: measurable_def) lemma null_sets_completion: assumes "N' \ null_sets M" "N \ N'" shows "N \ sets (completion M)" using assms by (intro sets_completionI[of N "{}" N N']) auto -lemma split_completion: +lemma%important split_completion: assumes "A \ sets (completion M)" shows "split_completion M A (main_part M A, null_part M A)" -proof cases +proof%unimportant cases assume "A \ sets M" then show ?thesis by (simp add: split_completion_def[abs_def] main_part_def null_part_def) next @@ -180,9 +181,10 @@ finally show ?thesis . qed -lemma emeasure_completion[simp]: - assumes S: "S \ sets (completion M)" shows "emeasure (completion M) S = emeasure M (main_part M S)" -proof (subst emeasure_measure_of[OF completion_def completion_into_space]) +lemma%important emeasure_completion[simp]: + assumes S: "S \ sets (completion M)" + shows "emeasure (completion M) S = emeasure M (main_part M S)" +proof%unimportant (subst emeasure_measure_of[OF completion_def completion_into_space]) let ?\ = "emeasure M \ main_part M" show "S \ sets (completion M)" "?\ S = emeasure M (main_part M S) " using S by simp_all show "positive (sets (completion M)) ?\" @@ -281,11 +283,11 @@ qed qed -lemma completion_ex_borel_measurable: +lemma%important completion_ex_borel_measurable: fixes g :: "'a \ ennreal" assumes g: "g \ borel_measurable (completion M)" shows "\g'\borel_measurable M. (AE x in M. g x = g' x)" -proof - +proof%unimportant - from g[THEN borel_measurable_implies_simple_function_sequence'] guess f . note f = this from this(1)[THEN completion_ex_simple_function] have "\i. \f'. simple_function M f' \ (AE x in M. f i x = f' x)" .. @@ -440,18 +442,19 @@ assumes f: "f \ M \\<^sub>M borel" shows "integral\<^sup>L (completion M) f = integral\<^sup>L M f" by (rule integral_subalgebra[symmetric]) (auto intro: f) -locale semifinite_measure = +locale%important semifinite_measure = fixes M :: "'a measure" assumes semifinite: "\A. A \ sets M \ emeasure M A = \ \ \B\sets M. B \ A \ emeasure M B < \" -locale locally_determined_measure = semifinite_measure + +locale%important locally_determined_measure = semifinite_measure + assumes locally_determined: "\A. A \ space M \ (\B. B \ sets M \ emeasure M B < \ \ A \ B \ sets M) \ A \ sets M" -locale cld_measure = complete_measure M + locally_determined_measure M for M :: "'a measure" +locale%important cld_measure = + complete_measure M + locally_determined_measure M for M :: "'a measure" -definition outer_measure_of :: "'a measure \ 'a set \ ennreal" +definition%important outer_measure_of :: "'a measure \ 'a set \ ennreal" where "outer_measure_of M A = (INF B \ {B\sets M. A \ B}. emeasure M B)" lemma outer_measure_of_eq[simp]: "A \ sets M \ outer_measure_of M A = emeasure M A" @@ -550,7 +553,7 @@ by (simp add: eq F) qed (auto intro: SUP_least outer_measure_of_mono) -definition measurable_envelope :: "'a measure \ 'a set \ 'a set \ bool" +definition%important measurable_envelope :: "'a measure \ 'a set \ 'a set \ bool" where "measurable_envelope M A E \ (A \ E \ E \ sets M \ (\F\sets M. emeasure M (F \ E) = outer_measure_of M (F \ A)))" @@ -615,7 +618,7 @@ by (auto simp: Int_absorb1) qed -lemma measurable_envelope_eq2: +lemma%important measurable_envelope_eq2: assumes "A \ E" "E \ sets M" "emeasure M E < \" shows "measurable_envelope M A E \ (emeasure M E = outer_measure_of M A)" proof safe