src/HOL/Probability/Sigma_Algebra.thy
changeset 42987 73e2d802ea41
parent 42984 43864e7475df
child 42988 d8f3fc934ff6
equal deleted inserted replaced
42986:11fd8c04ea24 42987:73e2d802ea41
   553   unfolding sigma_def by (auto intro!: sigma_sets.Basic)
   553   unfolding sigma_def by (auto intro!: sigma_sets.Basic)
   554 
   554 
   555 lemma (in sigma_algebra) sigma_eq[simp]: "sigma M = M"
   555 lemma (in sigma_algebra) sigma_eq[simp]: "sigma M = M"
   556   unfolding sigma_def sigma_sets_eq by simp
   556   unfolding sigma_def sigma_sets_eq by simp
   557 
   557 
       
   558 lemma sigma_sigma_eq:
       
   559   assumes "sets M \<subseteq> Pow (space M)"
       
   560   shows "sigma (sigma M) = sigma M"
       
   561   using sigma_algebra.sigma_eq[OF sigma_algebra_sigma, OF assms] .
       
   562 
       
   563 lemma sigma_sets_sigma_sets_eq:
       
   564   "M \<subseteq> Pow S \<Longrightarrow> sigma_sets S (sigma_sets S M) = sigma_sets S M"
       
   565   using sigma_sigma_eq[of "\<lparr> space = S, sets = M \<rparr>"]
       
   566   by (simp add: sigma_def)
       
   567 
   558 lemma sigma_sets_singleton:
   568 lemma sigma_sets_singleton:
   559   assumes "X \<subseteq> S"
   569   assumes "X \<subseteq> S"
   560   shows "sigma_sets S { X } = { {}, X, S - X, S }"
   570   shows "sigma_sets S { X } = { {}, X, S - X, S }"
   561 proof -
   571 proof -
   562   interpret sigma_algebra "\<lparr> space = S, sets = { {}, X, S - X, S }\<rparr>"
   572   interpret sigma_algebra "\<lparr> space = S, sets = { {}, X, S - X, S }\<rparr>"
   583   have "S \<in> sigma_sets (space M) (sets M)" "S \<subseteq> space M"
   593   have "S \<in> sigma_sets (space M) (sets M)" "S \<subseteq> space M"
   584     by (auto simp: sigma_def)
   594     by (auto simp: sigma_def)
   585   from sigma_sets_Int[OF this]
   595   from sigma_sets_Int[OF this]
   586   show ?thesis
   596   show ?thesis
   587     by (simp add: sigma_def)
   597     by (simp add: sigma_def)
       
   598 qed
       
   599 
       
   600 lemma sigma_sets_vimage_commute:
       
   601   assumes X: "X \<in> space M \<rightarrow> space M'"
       
   602   shows "{X -` A \<inter> space M |A. A \<in> sets (sigma M')}
       
   603        = sigma_sets (space M) {X -` A \<inter> space M |A. A \<in> sets M'}" (is "?L = ?R")
       
   604 proof
       
   605   show "?L \<subseteq> ?R"
       
   606   proof clarify
       
   607     fix A assume "A \<in> sets (sigma M')"
       
   608     then have "A \<in> sigma_sets (space M') (sets M')" by (simp add: sets_sigma)
       
   609     then show "X -` A \<inter> space M \<in> ?R"
       
   610     proof induct
       
   611       case (Basic B) then show ?case
       
   612         by (auto intro!: sigma_sets.Basic)
       
   613     next
       
   614       case Empty then show ?case
       
   615         by (auto intro!: sigma_sets.Empty)
       
   616     next
       
   617       case (Compl B)
       
   618       have [simp]: "X -` (space M' - B) \<inter> space M = space M - (X -` B \<inter> space M)"
       
   619         by (auto simp add: funcset_mem [OF X])
       
   620       with Compl show ?case
       
   621         by (auto intro!: sigma_sets.Compl)
       
   622     next
       
   623       case (Union F)
       
   624       then show ?case
       
   625         by (auto simp add: vimage_UN UN_extend_simps(4) simp del: UN_simps
       
   626                  intro!: sigma_sets.Union)
       
   627     qed
       
   628   qed
       
   629   show "?R \<subseteq> ?L"
       
   630   proof clarify
       
   631     fix A assume "A \<in> ?R"
       
   632     then show "\<exists>B. A = X -` B \<inter> space M \<and> B \<in> sets (sigma M')"
       
   633     proof induct
       
   634       case (Basic B) then show ?case by auto
       
   635     next
       
   636       case Empty then show ?case
       
   637         by (auto simp: sets_sigma intro!: sigma_sets.Empty exI[of _ "{}"])
       
   638     next
       
   639       case (Compl B)
       
   640       then obtain A where A: "B = X -` A \<inter> space M" "A \<in> sets (sigma M')" by auto
       
   641       then have [simp]: "space M - B = X -` (space M' - A) \<inter> space M"
       
   642         by (auto simp add: funcset_mem [OF X])
       
   643       with A(2) show ?case
       
   644         by (auto simp: sets_sigma intro: sigma_sets.Compl)
       
   645     next
       
   646       case (Union F)
       
   647       then have "\<forall>i. \<exists>B. F i = X -` B \<inter> space M \<and> B \<in> sets (sigma M')" by auto
       
   648       from choice[OF this] guess A .. note A = this
       
   649       with A show ?case
       
   650         by (auto simp: sets_sigma vimage_UN[symmetric] intro: sigma_sets.Union)
       
   651     qed
       
   652   qed
   588 qed
   653 qed
   589 
   654 
   590 section {* Measurable functions *}
   655 section {* Measurable functions *}
   591 
   656 
   592 definition
   657 definition