478 lemma sets_PiM_I_finite[measurable]: |
478 lemma sets_PiM_I_finite[measurable]: |
479 assumes "finite I" and sets: "(\<And>i. i \<in> I \<Longrightarrow> E i \<in> sets (M i))" |
479 assumes "finite I" and sets: "(\<And>i. i \<in> I \<Longrightarrow> E i \<in> sets (M i))" |
480 shows "(PIE j:I. E j) \<in> sets (PIM i:I. M i)" |
480 shows "(PIE j:I. E j) \<in> sets (PIM i:I. M i)" |
481 using sets_PiM_I[of I I E M] sets_into_space[OF sets] `finite I` sets by auto |
481 using sets_PiM_I[of I I E M] sets_into_space[OF sets] `finite I` sets by auto |
482 |
482 |
483 lemma measurable_component_singleton[measurable (raw)]: |
483 lemma measurable_component_singleton: |
484 assumes "i \<in> I" shows "(\<lambda>x. x i) \<in> measurable (Pi\<^isub>M I M) (M i)" |
484 assumes "i \<in> I" shows "(\<lambda>x. x i) \<in> measurable (Pi\<^isub>M I M) (M i)" |
485 proof (unfold measurable_def, intro CollectI conjI ballI) |
485 proof (unfold measurable_def, intro CollectI conjI ballI) |
486 fix A assume "A \<in> sets (M i)" |
486 fix A assume "A \<in> sets (M i)" |
487 then have "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>M I M) = prod_emb I M {i} (\<Pi>\<^isub>E j\<in>{i}. A)" |
487 then have "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>M I M) = prod_emb I M {i} (\<Pi>\<^isub>E j\<in>{i}. A)" |
488 using sets_into_space `i \<in> I` |
488 using sets_into_space `i \<in> I` |
489 by (fastforce dest: Pi_mem simp: prod_emb_def space_PiM split: split_if_asm) |
489 by (fastforce dest: Pi_mem simp: prod_emb_def space_PiM split: split_if_asm) |
490 then show "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>M I M) \<in> sets (Pi\<^isub>M I M)" |
490 then show "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>M I M) \<in> sets (Pi\<^isub>M I M)" |
491 using `A \<in> sets (M i)` `i \<in> I` by (auto intro!: sets_PiM_I) |
491 using `A \<in> sets (M i)` `i \<in> I` by (auto intro!: sets_PiM_I) |
492 qed (insert `i \<in> I`, auto simp: space_PiM) |
492 qed (insert `i \<in> I`, auto simp: space_PiM) |
|
493 |
|
494 lemma measurable_component_singleton'[measurable_app]: |
|
495 assumes f: "f \<in> measurable N (Pi\<^isub>M I M)" |
|
496 assumes i: "i \<in> I" |
|
497 shows "(\<lambda>x. (f x) i) \<in> measurable N (M i)" |
|
498 using measurable_compose[OF f measurable_component_singleton, OF i] . |
|
499 |
|
500 lemma measurable_nat_case[measurable (raw)]: |
|
501 assumes [measurable (raw)]: "i = 0 \<Longrightarrow> f \<in> measurable M N" |
|
502 "\<And>j. i = Suc j \<Longrightarrow> (\<lambda>x. g x j) \<in> measurable M N" |
|
503 shows "(\<lambda>x. nat_case (f x) (g x) i) \<in> measurable M N" |
|
504 by (cases i) simp_all |
493 |
505 |
494 lemma measurable_add_dim[measurable]: |
506 lemma measurable_add_dim[measurable]: |
495 "(\<lambda>(f, y). f(i := y)) \<in> measurable (Pi\<^isub>M I M \<Otimes>\<^isub>M M i) (Pi\<^isub>M (insert i I) M)" |
507 "(\<lambda>(f, y). f(i := y)) \<in> measurable (Pi\<^isub>M I M \<Otimes>\<^isub>M M i) (Pi\<^isub>M (insert i I) M)" |
496 (is "?f \<in> measurable ?P ?I") |
508 (is "?f \<in> measurable ?P ?I") |
497 proof (rule measurable_PiM_single) |
509 proof (rule measurable_PiM_single) |