src/HOL/Probability/Sigma_Algebra.thy
changeset 49789 e0a4cb91a8a9
parent 49782 d5c6a905b57e
child 49834 b27bbb021df1
equal deleted inserted replaced
49788:3c10763f5cb4 49789:e0a4cb91a8a9
  2039     using assms dynkin_subset[OF E(1)] by simp
  2039     using assms dynkin_subset[OF E(1)] by simp
  2040   ultimately show ?thesis
  2040   ultimately show ?thesis
  2041     using assms by (auto simp: dynkin_def)
  2041     using assms by (auto simp: dynkin_def)
  2042 qed
  2042 qed
  2043 
  2043 
       
  2044 lemma sigma_sets_induct_disjoint[consumes 3, case_names basic empty compl union]:
       
  2045   assumes "Int_stable G"
       
  2046     and closed: "G \<subseteq> Pow \<Omega>"
       
  2047     and A: "A \<in> sigma_sets \<Omega> G"
       
  2048   assumes basic: "\<And>A. A \<in> G \<Longrightarrow> P A"
       
  2049     and empty: "P {}"
       
  2050     and compl: "\<And>A. A \<in> sigma_sets \<Omega> G \<Longrightarrow> P A \<Longrightarrow> P (\<Omega> - A)"
       
  2051     and union: "\<And>A. disjoint_family A \<Longrightarrow> range A \<subseteq> sigma_sets \<Omega> G \<Longrightarrow> (\<And>i. P (A i)) \<Longrightarrow> P (\<Union>i::nat. A i)"
       
  2052   shows "P A"
       
  2053 proof -
       
  2054   let ?D = "{ A \<in> sigma_sets \<Omega> G. P A }"
       
  2055   interpret sigma_algebra \<Omega> "sigma_sets \<Omega> G"
       
  2056     using closed by (rule sigma_algebra_sigma_sets)
       
  2057   from compl[OF _ empty] closed have space: "P \<Omega>" by simp
       
  2058   interpret dynkin_system \<Omega> ?D
       
  2059     by default (auto dest: sets_into_space intro!: space compl union)
       
  2060   have "sigma_sets \<Omega> G = ?D"
       
  2061     by (rule dynkin_lemma) (auto simp: basic `Int_stable G`)
       
  2062   with A show ?thesis by auto
       
  2063 qed
       
  2064 
  2044 end
  2065 end