803 show "g \<in> measurable M M'" |
803 show "g \<in> measurable M M'" |
804 using f f'[THEN bij_betw_imp_funcset] f[unfolded bij_betw_def] |
804 using f f'[THEN bij_betw_imp_funcset] f[unfolded bij_betw_def] |
805 by (subst (asm) vimage_vimage_inv) |
805 by (subst (asm) vimage_vimage_inv) |
806 (simp_all add: f_the_inv_into_f cong: measurable_cong) |
806 (simp_all add: f_the_inv_into_f cong: measurable_cong) |
807 qed |
807 qed |
808 |
|
809 lemma (in sigma_algebra) measurable_vimage_iff_inv: |
|
810 fixes f :: "'b \<Rightarrow> 'a" assumes f: "bij_betw f S (space M)" |
|
811 shows "g \<in> measurable (vimage_algebra S f) M' \<longleftrightarrow> (g \<circ> the_inv_into S f) \<in> measurable M M'" |
|
812 unfolding measurable_vimage_iff[OF f] |
|
813 using f[unfolded bij_betw_def] |
|
814 by (auto intro!: measurable_cong simp add: the_inv_into_f_f) |
|
815 |
808 |
816 lemma sigma_sets_vimage: |
809 lemma sigma_sets_vimage: |
817 assumes "f \<in> S' \<rightarrow> S" and "A \<subseteq> Pow S" |
810 assumes "f \<in> S' \<rightarrow> S" and "A \<subseteq> Pow S" |
818 shows "sigma_sets S' ((\<lambda>X. f -` X \<inter> S') ` A) = (\<lambda>X. f -` X \<inter> S') ` sigma_sets S A" |
811 shows "sigma_sets S' ((\<lambda>X. f -` X \<inter> S') ` A) = (\<lambda>X. f -` X \<inter> S') ` sigma_sets S A" |
819 proof (intro set_eqI iffI) |
812 proof (intro set_eqI iffI) |
867 by (intro sigma_sets.Union Union.hyps) simp |
860 by (intro sigma_sets.Union Union.hyps) simp |
868 also have "(\<Union>i. f -` F i \<inter> S') = X" |
861 also have "(\<Union>i. f -` F i \<inter> S') = X" |
869 using assms Union by auto |
862 using assms Union by auto |
870 finally show ?case . |
863 finally show ?case . |
871 qed |
864 qed |
872 qed |
|
873 |
|
874 lemma vimage_algebra_sigma: |
|
875 assumes E: "sets E \<subseteq> Pow (space E)" |
|
876 and f: "f \<in> space F \<rightarrow> space E" |
|
877 and "\<And>A. A \<in> sets F \<Longrightarrow> A \<in> (\<lambda>X. f -` X \<inter> space F) ` sets E" |
|
878 and "\<And>A. A \<in> sets E \<Longrightarrow> f -` A \<inter> space F \<in> sets F" |
|
879 shows "sigma_algebra.vimage_algebra (sigma E) (space F) f = sigma F" |
|
880 proof - |
|
881 interpret sigma_algebra "sigma E" |
|
882 using assms by (intro sigma_algebra_sigma) auto |
|
883 have eq: "sets F = (\<lambda>X. f -` X \<inter> space F) ` sets E" |
|
884 using assms by auto |
|
885 show "vimage_algebra (space F) f = sigma F" |
|
886 unfolding vimage_algebra_def using assms |
|
887 by (simp add: sigma_def eq sigma_sets_vimage) |
|
888 qed |
865 qed |
889 |
866 |
890 section {* Conditional space *} |
867 section {* Conditional space *} |
891 |
868 |
892 definition (in algebra) |
869 definition (in algebra) |
1436 by (auto simp: subset_image_iff sets_eq_Pow image_space_def) |
1415 by (auto simp: subset_image_iff sets_eq_Pow image_space_def) |
1437 then show "S \<in> sets (image_space X)" |
1416 then show "S \<in> sets (image_space X)" |
1438 by (auto simp: image_space_def) |
1417 by (auto simp: image_space_def) |
1439 qed |
1418 qed |
1440 |
1419 |
|
1420 subsection "Bijective functions with inverse" |
|
1421 |
|
1422 definition "bij_inv A B f g \<longleftrightarrow> |
|
1423 f \<in> A \<rightarrow> B \<and> g \<in> B \<rightarrow> A \<and> (\<forall>x\<in>A. g (f x) = x) \<and> (\<forall>x\<in>B. f (g x) = x)" |
|
1424 |
|
1425 lemma bij_inv_symmetric[sym]: "bij_inv A B f g \<Longrightarrow> bij_inv B A g f" |
|
1426 unfolding bij_inv_def by auto |
|
1427 |
|
1428 lemma bij_invI: |
|
1429 assumes "f \<in> A \<rightarrow> B" "g \<in> B \<rightarrow> A" |
|
1430 and "\<And>x. x \<in> A \<Longrightarrow> g (f x) = x" |
|
1431 and "\<And>x. x \<in> B \<Longrightarrow> f (g x) = x" |
|
1432 shows "bij_inv A B f g" |
|
1433 using assms unfolding bij_inv_def by auto |
|
1434 |
|
1435 lemma bij_invE: |
|
1436 assumes "bij_inv A B f g" |
|
1437 "\<lbrakk> f \<in> A \<rightarrow> B ; g \<in> B \<rightarrow> A ; |
|
1438 (\<And>x. x \<in> A \<Longrightarrow> g (f x) = x) ; |
|
1439 (\<And>x. x \<in> B \<Longrightarrow> f (g x) = x) \<rbrakk> \<Longrightarrow> P" |
|
1440 shows P |
|
1441 using assms unfolding bij_inv_def by auto |
|
1442 |
|
1443 lemma bij_inv_bij_betw: |
|
1444 assumes "bij_inv A B f g" |
|
1445 shows "bij_betw f A B" "bij_betw g B A" |
|
1446 using assms by (auto intro: bij_betwI elim!: bij_invE) |
|
1447 |
|
1448 lemma bij_inv_vimage_vimage: |
|
1449 assumes "bij_inv A B f e" |
|
1450 shows "f -` (e -` X \<inter> B) \<inter> A = X \<inter> A" |
|
1451 using assms by (auto elim!: bij_invE) |
|
1452 |
|
1453 lemma (in sigma_algebra) measurable_vimage_iff_inv: |
|
1454 fixes f :: "'b \<Rightarrow> 'a" assumes "bij_inv S (space M) f g" |
|
1455 shows "h \<in> measurable (vimage_algebra S f) M' \<longleftrightarrow> (\<lambda>x. h (g x)) \<in> measurable M M'" |
|
1456 unfolding measurable_vimage_iff[OF bij_inv_bij_betw(1), OF assms] |
|
1457 proof (rule measurable_cong) |
|
1458 fix w assume "w \<in> space (vimage_algebra S f)" |
|
1459 then have "w \<in> S" by auto |
|
1460 then show "h w = ((\<lambda>x. h (g x)) \<circ> f) w" |
|
1461 using assms by (auto elim: bij_invE) |
|
1462 qed |
|
1463 |
|
1464 lemma vimage_algebra_sigma: |
|
1465 assumes bi: "bij_inv (space (sigma F)) (space (sigma E)) f e" |
|
1466 and "sets E \<subseteq> Pow (space E)" and F: "sets F \<subseteq> Pow (space F)" |
|
1467 and "f \<in> measurable F E" "e \<in> measurable E F" |
|
1468 shows "sigma_algebra.vimage_algebra (sigma E) (space (sigma F)) f = sigma F" |
|
1469 proof - |
|
1470 interpret sigma_algebra "sigma E" |
|
1471 using assms by (intro sigma_algebra_sigma) auto |
|
1472 have eq: "sets F = (\<lambda>X. f -` X \<inter> space F) ` sets E" |
|
1473 proof safe |
|
1474 fix X assume "X \<in> sets F" |
|
1475 then have "e -` X \<inter> space E \<in> sets E" |
|
1476 using `e \<in> measurable E F` unfolding measurable_def by auto |
|
1477 then show "X \<in>(\<lambda>Y. f -` Y \<inter> space F) ` sets E" |
|
1478 apply (rule rev_image_eqI) |
|
1479 unfolding bij_inv_vimage_vimage[OF bi[simplified]] |
|
1480 using F `X \<in> sets F` by auto |
|
1481 next |
|
1482 fix X assume "X \<in> sets E" then show "f -` X \<inter> space F \<in> sets F" |
|
1483 using `f \<in> measurable F E` unfolding measurable_def by auto |
|
1484 qed |
|
1485 show "vimage_algebra (space (sigma F)) f = sigma F" |
|
1486 unfolding vimage_algebra_def |
|
1487 using assms by (auto simp: bij_inv_def eq sigma_sets_vimage[symmetric] sigma_def) |
|
1488 qed |
|
1489 |
|
1490 lemma measurable_sigma_sigma: |
|
1491 assumes M: "sets M \<subseteq> Pow (space M)" and N: "sets N \<subseteq> Pow (space N)" |
|
1492 shows "f \<in> measurable M N \<Longrightarrow> f \<in> measurable (sigma M) (sigma N)" |
|
1493 using sigma_algebra.measurable_subset[OF sigma_algebra_sigma[OF M], of N] |
|
1494 using measurable_up_sigma[of M N] N by auto |
|
1495 |
|
1496 lemma bij_inv_the_inv_into: |
|
1497 assumes "bij_betw f A B" shows "bij_inv A B f (the_inv_into A f)" |
|
1498 proof (rule bij_invI) |
|
1499 show "the_inv_into A f \<in> B \<rightarrow> A" |
|
1500 using bij_betw_the_inv_into[OF assms] by (rule bij_betw_imp_funcset) |
|
1501 show "f \<in> A \<rightarrow> B" using assms by (rule bij_betw_imp_funcset) |
|
1502 show "\<And>x. x \<in> A \<Longrightarrow> the_inv_into A f (f x) = x" |
|
1503 "\<And>x. x \<in> B \<Longrightarrow> f (the_inv_into A f x) = x" |
|
1504 using the_inv_into_f_f[of f A] f_the_inv_into_f[of f A] |
|
1505 using assms by (auto simp: bij_betw_def) |
|
1506 qed |
|
1507 |
1441 end |
1508 end |