equal
deleted
inserted
replaced
1 (* Title: HOL/Probability/Infinite_Product_Measure.thy |
1 (* Title: HOL/Probability/Infinite_Product_Measure.thy |
2 Author: Johannes Hölzl, TU München |
2 Author: Johannes Hölzl, TU München |
3 *) |
3 *) |
4 |
4 |
5 section {*Infinite Product Measure*} |
5 section \<open>Infinite Product Measure\<close> |
6 |
6 |
7 theory Infinite_Product_Measure |
7 theory Infinite_Product_Measure |
8 imports Probability_Measure Caratheodory Projective_Family |
8 imports Probability_Measure Caratheodory Projective_Family |
9 begin |
9 begin |
10 |
10 |
96 proof (rule measure_eqI[symmetric]) |
96 proof (rule measure_eqI[symmetric]) |
97 fix A assume "A \<in> sets (M i)" |
97 fix A assume "A \<in> sets (M i)" |
98 moreover have "((\<lambda>\<omega>. \<omega> i) -` A \<inter> space (PiM I M)) = {x\<in>space (PiM I M). x i \<in> A}" |
98 moreover have "((\<lambda>\<omega>. \<omega> i) -` A \<inter> space (PiM I M)) = {x\<in>space (PiM I M). x i \<in> A}" |
99 by auto |
99 by auto |
100 ultimately show "emeasure (M i) A = emeasure (distr (PiM I M) (M i) (\<lambda>\<omega>. \<omega> i)) A" |
100 ultimately show "emeasure (M i) A = emeasure (distr (PiM I M) (M i) (\<lambda>\<omega>. \<omega> i)) A" |
101 by (auto simp: `i\<in>I` emeasure_distr measurable_component_singleton emeasure_PiM_Collect_single) |
101 by (auto simp: \<open>i\<in>I\<close> emeasure_distr measurable_component_singleton emeasure_PiM_Collect_single) |
102 qed simp |
102 qed simp |
103 |
103 |
104 lemma (in product_prob_space) PiM_eq: |
104 lemma (in product_prob_space) PiM_eq: |
105 assumes M': "sets M' = sets (PiM I M)" |
105 assumes M': "sets M' = sets (PiM I M)" |
106 assumes eq: "\<And>J F. finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> (\<And>j. j \<in> J \<Longrightarrow> F j \<in> sets (M j)) \<Longrightarrow> |
106 assumes eq: "\<And>J F. finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> (\<And>j. j \<in> J \<Longrightarrow> F j \<in> sets (M j)) \<Longrightarrow> |
116 apply simp |
116 apply simp |
117 apply (subst PiM_component) |
117 apply (subst PiM_component) |
118 apply simp_all |
118 apply simp_all |
119 done |
119 done |
120 |
120 |
121 subsection {* Sequence space *} |
121 subsection \<open>Sequence space\<close> |
122 |
122 |
123 definition comb_seq :: "nat \<Rightarrow> (nat \<Rightarrow> 'a) \<Rightarrow> (nat \<Rightarrow> 'a) \<Rightarrow> (nat \<Rightarrow> 'a)" where |
123 definition comb_seq :: "nat \<Rightarrow> (nat \<Rightarrow> 'a) \<Rightarrow> (nat \<Rightarrow> 'a) \<Rightarrow> (nat \<Rightarrow> 'a)" where |
124 "comb_seq i \<omega> \<omega>' j = (if j < i then \<omega> j else \<omega>' (j - i))" |
124 "comb_seq i \<omega> \<omega>' j = (if j < i then \<omega> j else \<omega>' (j - i))" |
125 |
125 |
126 lemma split_comb_seq: "P (comb_seq i \<omega> \<omega>' j) \<longleftrightarrow> (j < i \<longrightarrow> P (\<omega> j)) \<and> (\<forall>k. j = i + k \<longrightarrow> P (\<omega>' k))" |
126 lemma split_comb_seq: "P (comb_seq i \<omega> \<omega>' j) \<longleftrightarrow> (j < i \<longrightarrow> P (\<omega> j)) \<and> (\<forall>k. j = i + k \<longrightarrow> P (\<omega>' k))" |