src/HOL/Probability/Complete_Measure.thy
changeset 50244 de72bbe42190
parent 47694 05663f75964c
child 56949 d1a937cbf858
equal deleted inserted replaced
50243:0d97ef1d6de9 50244:de72bbe42190
    20   "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' }
    20   "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' }
    21     (emeasure M \<circ> main_part M)"
    21     (emeasure M \<circ> main_part M)"
    22 
    22 
    23 lemma completion_into_space:
    23 lemma completion_into_space:
    24   "{ S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' } \<subseteq> Pow (space M)"
    24   "{ S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' } \<subseteq> Pow (space M)"
    25   using sets_into_space by auto
    25   using sets.sets_into_space by auto
    26 
    26 
    27 lemma space_completion[simp]: "space (completion M) = space M"
    27 lemma space_completion[simp]: "space (completion M) = space M"
    28   unfolding completion_def using space_measure_of[OF completion_into_space] by simp
    28   unfolding completion_def using space_measure_of[OF completion_into_space] by simp
    29 
    29 
    30 lemma completionI:
    30 lemma completionI:
    41   "sigma_algebra (space M) { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
    41   "sigma_algebra (space M) { S \<union> N |S N N'. S \<in> sets M \<and> N' \<in> null_sets M \<and> N \<subseteq> N' }"
    42     (is "sigma_algebra _ ?A")
    42     (is "sigma_algebra _ ?A")
    43   unfolding sigma_algebra_iff2
    43   unfolding sigma_algebra_iff2
    44 proof (intro conjI ballI allI impI)
    44 proof (intro conjI ballI allI impI)
    45   show "?A \<subseteq> Pow (space M)"
    45   show "?A \<subseteq> Pow (space M)"
    46     using sets_into_space by auto
    46     using sets.sets_into_space by auto
    47 next
    47 next
    48   show "{} \<in> ?A" by auto
    48   show "{} \<in> ?A" by auto
    49 next
    49 next
    50   let ?C = "space M"
    50   let ?C = "space M"
    51   fix A assume "A \<in> ?A" from completionE[OF this] guess S N N' .
    51   fix A assume "A \<in> ?A" from completionE[OF this] guess S N N' .
   236     fix x assume "x \<in> space M"
   236     fix x assume "x \<in> space M"
   237     have "?f' -` {?f' x} \<inter> space M =
   237     have "?f' -` {?f' x} \<inter> space M =
   238       (if x \<in> ?N then ?F undefined \<union> ?N
   238       (if x \<in> ?N then ?F undefined \<union> ?N
   239        else if f x = undefined then ?F (f x) \<union> ?N
   239        else if f x = undefined then ?F (f x) \<union> ?N
   240        else ?F (f x) - ?N)"
   240        else ?F (f x) - ?N)"
   241       using N(2) sets_into_space by (auto split: split_if_asm simp: null_sets_def)
   241       using N(2) sets.sets_into_space by (auto split: split_if_asm simp: null_sets_def)
   242     moreover { fix y have "?F y \<union> ?N \<in> sets M"
   242     moreover { fix y have "?F y \<union> ?N \<in> sets M"
   243       proof cases
   243       proof cases
   244         assume y: "y \<in> f`space M"
   244         assume y: "y \<in> f`space M"
   245         have "?F y \<union> ?N = (main_part M (?F y) \<union> null_part M (?F y)) \<union> ?N"
   245         have "?F y \<union> ?N = (main_part M (?F y) \<union> null_part M (?F y)) \<union> ?N"
   246           using main_part_null_part_Un[OF F] by auto
   246           using main_part_null_part_Un[OF F] by auto