77 also have "\<dots> \<in> sets M" |
77 also have "\<dots> \<in> sets M" |
78 by (rule sets.Int) (auto intro!: measurable_sets * f g) |
78 by (rule sets.Int) (auto intro!: measurable_sets * f g) |
79 finally show "(\<lambda>x. (f x, g x)) -` (A \<times> B) \<inter> space M \<in> sets M" . |
79 finally show "(\<lambda>x. (f x, g x)) -` (A \<times> B) \<inter> space M \<in> sets M" . |
80 qed |
80 qed |
81 |
81 |
|
82 lemma measurable_fst[intro!, simp, measurable]: "fst \<in> measurable (M1 \<Otimes>\<^sub>M M2) M1" |
|
83 by (auto simp: fst_vimage_eq_Times space_pair_measure sets.sets_into_space times_Int_times |
|
84 measurable_def) |
|
85 |
|
86 lemma measurable_snd[intro!, simp, measurable]: "snd \<in> measurable (M1 \<Otimes>\<^sub>M M2) M2" |
|
87 by (auto simp: snd_vimage_eq_Times space_pair_measure sets.sets_into_space times_Int_times |
|
88 measurable_def) |
|
89 |
82 lemma measurable_Pair_compose_split[measurable_dest]: |
90 lemma measurable_Pair_compose_split[measurable_dest]: |
83 assumes f: "split f \<in> measurable (M1 \<Otimes>\<^sub>M M2) N" |
91 assumes f: "split f \<in> measurable (M1 \<Otimes>\<^sub>M M2) N" |
84 assumes g: "g \<in> measurable M M1" and h: "h \<in> measurable M M2" |
92 assumes g: "g \<in> measurable M M1" and h: "h \<in> measurable M M2" |
85 shows "(\<lambda>x. f (g x) (h x)) \<in> measurable M N" |
93 shows "(\<lambda>x. f (g x) (h x)) \<in> measurable M N" |
86 using measurable_compose[OF measurable_Pair f, OF g h] by simp |
94 using measurable_compose[OF measurable_Pair f, OF g h] by simp |
87 |
95 |
|
96 lemma measurable_Pair1_compose[measurable_dest]: |
|
97 assumes f: "(\<lambda>x. (f x, g x)) \<in> measurable M (M1 \<Otimes>\<^sub>M M2)" |
|
98 assumes [measurable]: "h \<in> measurable N M" |
|
99 shows "(\<lambda>x. f (h x)) \<in> measurable N M1" |
|
100 using measurable_compose[OF f measurable_fst] by simp |
|
101 |
|
102 lemma measurable_Pair2_compose[measurable_dest]: |
|
103 assumes f: "(\<lambda>x. (f x, g x)) \<in> measurable M (M1 \<Otimes>\<^sub>M M2)" |
|
104 assumes [measurable]: "h \<in> measurable N M" |
|
105 shows "(\<lambda>x. g (h x)) \<in> measurable N M2" |
|
106 using measurable_compose[OF f measurable_snd] by simp |
|
107 |
88 lemma measurable_pair: |
108 lemma measurable_pair: |
89 assumes "(fst \<circ> f) \<in> measurable M M1" "(snd \<circ> f) \<in> measurable M M2" |
109 assumes "(fst \<circ> f) \<in> measurable M M1" "(snd \<circ> f) \<in> measurable M M2" |
90 shows "f \<in> measurable M (M1 \<Otimes>\<^sub>M M2)" |
110 shows "f \<in> measurable M (M1 \<Otimes>\<^sub>M M2)" |
91 using measurable_Pair[OF assms] by simp |
111 using measurable_Pair[OF assms] by simp |
92 |
|
93 lemma measurable_fst[intro!, simp, measurable]: "fst \<in> measurable (M1 \<Otimes>\<^sub>M M2) M1" |
|
94 by (auto simp: fst_vimage_eq_Times space_pair_measure sets.sets_into_space times_Int_times |
|
95 measurable_def) |
|
96 |
|
97 lemma measurable_snd[intro!, simp, measurable]: "snd \<in> measurable (M1 \<Otimes>\<^sub>M M2) M2" |
|
98 by (auto simp: snd_vimage_eq_Times space_pair_measure sets.sets_into_space times_Int_times |
|
99 measurable_def) |
|
100 |
112 |
101 lemma |
113 lemma |
102 assumes f[measurable]: "f \<in> measurable M (N \<Otimes>\<^sub>M P)" |
114 assumes f[measurable]: "f \<in> measurable M (N \<Otimes>\<^sub>M P)" |
103 shows measurable_fst': "(\<lambda>x. fst (f x)) \<in> measurable M N" |
115 shows measurable_fst': "(\<lambda>x. fst (f x)) \<in> measurable M N" |
104 and measurable_snd': "(\<lambda>x. snd (f x)) \<in> measurable M P" |
116 and measurable_snd': "(\<lambda>x. snd (f x)) \<in> measurable M P" |
274 have eq[simp]: "\<And>A x y. indicator A (x, y) = indicator (Pair x -` A) y" |
286 have eq[simp]: "\<And>A x y. indicator A (x, y) = indicator (Pair x -` A) y" |
275 by (auto simp: indicator_def) |
287 by (auto simp: indicator_def) |
276 show "countably_additive (sets (N \<Otimes>\<^sub>M M)) ?\<mu>" |
288 show "countably_additive (sets (N \<Otimes>\<^sub>M M)) ?\<mu>" |
277 proof (rule countably_additiveI) |
289 proof (rule countably_additiveI) |
278 fix F :: "nat \<Rightarrow> ('b \<times> 'a) set" assume F: "range F \<subseteq> sets (N \<Otimes>\<^sub>M M)" "disjoint_family F" |
290 fix F :: "nat \<Rightarrow> ('b \<times> 'a) set" assume F: "range F \<subseteq> sets (N \<Otimes>\<^sub>M M)" "disjoint_family F" |
279 from F have *: "\<And>i. F i \<in> sets (N \<Otimes>\<^sub>M M)" "(\<Union>i. F i) \<in> sets (N \<Otimes>\<^sub>M M)" by auto |
291 from F have *: "\<And>i. F i \<in> sets (N \<Otimes>\<^sub>M M)" by auto |
280 moreover from F have "\<And>i. (\<lambda>x. emeasure M (Pair x -` F i)) \<in> borel_measurable N" |
|
281 by (intro measurable_emeasure_Pair) auto |
|
282 moreover have "\<And>x. disjoint_family (\<lambda>i. Pair x -` F i)" |
292 moreover have "\<And>x. disjoint_family (\<lambda>i. Pair x -` F i)" |
283 by (intro disjoint_family_on_bisimulation[OF F(2)]) auto |
293 by (intro disjoint_family_on_bisimulation[OF F(2)]) auto |
284 moreover have "\<And>x. range (\<lambda>i. Pair x -` F i) \<subseteq> sets M" |
294 moreover have "\<And>x. range (\<lambda>i. Pair x -` F i) \<subseteq> sets M" |
285 using F by (auto simp: sets_Pair1) |
295 using F by (auto simp: sets_Pair1) |
286 ultimately show "(\<Sum>n. ?\<mu> (F n)) = ?\<mu> (\<Union>i. F i)" |
296 ultimately show "(\<Sum>n. ?\<mu> (F n)) = ?\<mu> (\<Union>i. F i)" |
287 by (auto simp add: vimage_UN nn_integral_suminf[symmetric] suminf_emeasure subset_eq emeasure_nonneg sets_Pair1 |
297 by (auto simp add: nn_integral_suminf[symmetric] vimage_UN suminf_emeasure emeasure_nonneg |
288 intro!: nn_integral_cong nn_integral_indicator[symmetric]) |
298 intro!: nn_integral_cong nn_integral_indicator[symmetric]) |
289 qed |
299 qed |
290 show "{a \<times> b |a b. a \<in> sets N \<and> b \<in> sets M} \<subseteq> Pow (space N \<times> space M)" |
300 show "{a \<times> b |a b. a \<in> sets N \<and> b \<in> sets M} \<subseteq> Pow (space N \<times> space M)" |
291 using sets.space_closed[of N] sets.space_closed[of M] by auto |
301 using sets.space_closed[of N] sets.space_closed[of M] by auto |
292 qed fact |
302 qed fact |