13 "\<And>X. measure \<lparr> space = T, sets = A, \<dots> = algebra.more X \<rparr> = measure X" |
13 "\<And>X. measure \<lparr> space = T, sets = A, \<dots> = algebra.more X \<rparr> = measure X" |
14 unfolding measure_space.splits by simp |
14 unfolding measure_space.splits by simp |
15 |
15 |
16 lemma measure_sigma[simp]: "measure (sigma A) = measure A" |
16 lemma measure_sigma[simp]: "measure (sigma A) = measure A" |
17 unfolding sigma_def by simp |
17 unfolding sigma_def by simp |
|
18 |
|
19 lemma algebra_measure_update[simp]: |
|
20 "algebra (M'\<lparr>measure := m\<rparr>) \<longleftrightarrow> algebra M'" |
|
21 unfolding algebra_def by simp |
|
22 |
|
23 lemma sigma_algebra_measure_update[simp]: |
|
24 "sigma_algebra (M'\<lparr>measure := m\<rparr>) \<longleftrightarrow> sigma_algebra M'" |
|
25 unfolding sigma_algebra_def sigma_algebra_axioms_def by simp |
|
26 |
|
27 lemma finite_sigma_algebra_measure_update[simp]: |
|
28 "finite_sigma_algebra (M'\<lparr>measure := m\<rparr>) \<longleftrightarrow> finite_sigma_algebra M'" |
|
29 unfolding finite_sigma_algebra_def finite_sigma_algebra_axioms_def by simp |
|
30 |
|
31 lemma measurable_cancel_measure[simp]: |
|
32 "measurable M1 (M2\<lparr>measure := m2\<rparr>) = measurable M1 M2" |
|
33 "measurable (M2\<lparr>measure := m1\<rparr>) M1 = measurable M2 M1" |
|
34 unfolding measurable_def by auto |
18 |
35 |
19 lemma inj_on_image_eq_iff: |
36 lemma inj_on_image_eq_iff: |
20 assumes "inj_on f S" |
37 assumes "inj_on f S" |
21 assumes "A \<subseteq> S" "B \<subseteq> S" |
38 assumes "A \<subseteq> S" "B \<subseteq> S" |
22 shows "(f ` A = f ` B) \<longleftrightarrow> (A = B)" |
39 shows "(f ` A = f ` B) \<longleftrightarrow> (A = B)" |
622 then have "(\<lambda>i. \<mu> (A i \<inter> X)) \<up> \<mu> X" "(\<lambda>i. \<nu> (A i \<inter> X)) \<up> \<nu> X" |
639 then have "(\<lambda>i. \<mu> (A i \<inter> X)) \<up> \<mu> X" "(\<lambda>i. \<nu> (A i \<inter> X)) \<up> \<nu> X" |
623 using `X \<in> sets (sigma E)` A by (auto intro!: M.measure_up N.measure_up M.Int simp: subset_eq) |
640 using `X \<in> sets (sigma E)` A by (auto intro!: M.measure_up N.measure_up M.Int simp: subset_eq) |
624 ultimately show ?thesis by (simp add: isoton_def) |
641 ultimately show ?thesis by (simp add: isoton_def) |
625 qed |
642 qed |
626 |
643 |
627 lemma (in measure_space) measure_space_vimage: |
|
628 fixes M' :: "('c, 'd) measure_space_scheme" |
|
629 assumes T: "sigma_algebra M'" "T \<in> measurable M M'" |
|
630 and \<nu>: "\<And>A. A \<in> sets M' \<Longrightarrow> measure M' A = \<mu> (T -` A \<inter> space M)" |
|
631 shows "measure_space M'" |
|
632 proof - |
|
633 interpret M': sigma_algebra M' by fact |
|
634 show ?thesis |
|
635 proof |
|
636 show "measure M' {} = 0" using \<nu>[of "{}"] by simp |
|
637 |
|
638 show "countably_additive M' (measure M')" |
|
639 proof (intro countably_additiveI) |
|
640 fix A :: "nat \<Rightarrow> 'c set" assume "range A \<subseteq> sets M'" "disjoint_family A" |
|
641 then have A: "\<And>i. A i \<in> sets M'" "(\<Union>i. A i) \<in> sets M'" by auto |
|
642 then have *: "range (\<lambda>i. T -` (A i) \<inter> space M) \<subseteq> sets M" |
|
643 using `T \<in> measurable M M'` by (auto simp: measurable_def) |
|
644 moreover have "(\<Union>i. T -` A i \<inter> space M) \<in> sets M" |
|
645 using * by blast |
|
646 moreover have **: "disjoint_family (\<lambda>i. T -` A i \<inter> space M)" |
|
647 using `disjoint_family A` by (auto simp: disjoint_family_on_def) |
|
648 ultimately show "(\<Sum>\<^isub>\<infinity> i. measure M' (A i)) = measure M' (\<Union>i. A i)" |
|
649 using measure_countably_additive[OF _ **] A |
|
650 by (auto simp: comp_def vimage_UN \<nu>) |
|
651 qed |
|
652 qed |
|
653 qed |
|
654 |
|
655 lemma measure_unique_Int_stable_vimage: |
|
656 fixes A :: "nat \<Rightarrow> 'a set" |
|
657 assumes E: "Int_stable E" |
|
658 and A: "range A \<subseteq> sets E" "A \<up> space E" "\<And>i. measure M (A i) \<noteq> \<omega>" |
|
659 and N: "measure_space N" "T \<in> measurable N M" |
|
660 and M: "measure_space M" "sets (sigma E) = sets M" "space E = space M" |
|
661 and eq: "\<And>X. X \<in> sets E \<Longrightarrow> measure M X = measure N (T -` X \<inter> space N)" |
|
662 assumes X: "X \<in> sets (sigma E)" |
|
663 shows "measure M X = measure N (T -` X \<inter> space N)" |
|
664 proof (rule measure_unique_Int_stable[OF E A(1,2) _ _ eq _ X]) |
|
665 interpret M: measure_space M by fact |
|
666 interpret N: measure_space N by fact |
|
667 let "?T X" = "T -` X \<inter> space N" |
|
668 show "measure_space \<lparr>space = space E, sets = sets (sigma E), measure = measure M\<rparr>" |
|
669 by (rule M.measure_space_cong) (auto simp: M) |
|
670 show "measure_space \<lparr>space = space E, sets = sets (sigma E), measure = \<lambda>X. measure N (?T X)\<rparr>" (is "measure_space ?E") |
|
671 proof (rule N.measure_space_vimage) |
|
672 show "sigma_algebra ?E" |
|
673 by (rule M.sigma_algebra_cong) (auto simp: M) |
|
674 show "T \<in> measurable N ?E" |
|
675 using `T \<in> measurable N M` by (auto simp: M measurable_def) |
|
676 qed simp |
|
677 show "\<And>i. M.\<mu> (A i) \<noteq> \<omega>" by fact |
|
678 qed |
|
679 |
|
680 section "@{text \<mu>}-null sets" |
644 section "@{text \<mu>}-null sets" |
681 |
645 |
682 abbreviation (in measure_space) "null_sets \<equiv> {N\<in>sets M. \<mu> N = 0}" |
646 abbreviation (in measure_space) "null_sets \<equiv> {N\<in>sets M. \<mu> N = 0}" |
683 |
647 |
684 lemma (in measure_space) null_sets_Un[intro]: |
648 lemma (in measure_space) null_sets_Un[intro]: |
989 using F by (auto simp: setsum_\<omega>) |
953 using F by (auto simp: setsum_\<omega>) |
990 finally show "\<mu> (\<Union> i\<le>n. F i) \<noteq> \<omega>" by simp |
954 finally show "\<mu> (\<Union> i\<le>n. F i) \<noteq> \<omega>" by simp |
991 qed force+ |
955 qed force+ |
992 qed |
956 qed |
993 |
957 |
|
958 section {* Measure preserving *} |
|
959 |
|
960 definition "measure_preserving A B = |
|
961 {f \<in> measurable A B. (\<forall>y \<in> sets B. measure A (f -` y \<inter> space A) = measure B y)}" |
|
962 |
|
963 lemma measure_preservingI[intro?]: |
|
964 assumes "f \<in> measurable A B" |
|
965 and "\<And>y. y \<in> sets B \<Longrightarrow> measure A (f -` y \<inter> space A) = measure B y" |
|
966 shows "f \<in> measure_preserving A B" |
|
967 unfolding measure_preserving_def using assms by auto |
|
968 |
|
969 lemma (in measure_space) measure_space_vimage: |
|
970 fixes M' :: "('c, 'd) measure_space_scheme" |
|
971 assumes T: "sigma_algebra M'" "T \<in> measure_preserving M M'" |
|
972 shows "measure_space M'" |
|
973 proof - |
|
974 interpret M': sigma_algebra M' by fact |
|
975 show ?thesis |
|
976 proof |
|
977 show "measure M' {} = 0" using T by (force simp: measure_preserving_def) |
|
978 |
|
979 show "countably_additive M' (measure M')" |
|
980 proof (intro countably_additiveI) |
|
981 fix A :: "nat \<Rightarrow> 'c set" assume "range A \<subseteq> sets M'" "disjoint_family A" |
|
982 then have A: "\<And>i. A i \<in> sets M'" "(\<Union>i. A i) \<in> sets M'" by auto |
|
983 then have *: "range (\<lambda>i. T -` (A i) \<inter> space M) \<subseteq> sets M" |
|
984 using T by (auto simp: measurable_def measure_preserving_def) |
|
985 moreover have "(\<Union>i. T -` A i \<inter> space M) \<in> sets M" |
|
986 using * by blast |
|
987 moreover have **: "disjoint_family (\<lambda>i. T -` A i \<inter> space M)" |
|
988 using `disjoint_family A` by (auto simp: disjoint_family_on_def) |
|
989 ultimately show "(\<Sum>\<^isub>\<infinity> i. measure M' (A i)) = measure M' (\<Union>i. A i)" |
|
990 using measure_countably_additive[OF _ **] A T |
|
991 by (auto simp: comp_def vimage_UN measure_preserving_def) |
|
992 qed |
|
993 qed |
|
994 qed |
|
995 |
|
996 lemma (in measure_space) almost_everywhere_vimage: |
|
997 assumes T: "sigma_algebra M'" "T \<in> measure_preserving M M'" |
|
998 and AE: "measure_space.almost_everywhere M' P" |
|
999 shows "AE x. P (T x)" |
|
1000 proof - |
|
1001 interpret M': measure_space M' using T by (rule measure_space_vimage) |
|
1002 from AE[THEN M'.AE_E] guess N . |
|
1003 then show ?thesis |
|
1004 unfolding almost_everywhere_def M'.almost_everywhere_def |
|
1005 using T(2) unfolding measurable_def measure_preserving_def |
|
1006 by (intro bexI[of _ "T -` N \<inter> space M"]) auto |
|
1007 qed |
|
1008 |
|
1009 lemma measure_unique_Int_stable_vimage: |
|
1010 fixes A :: "nat \<Rightarrow> 'a set" |
|
1011 assumes E: "Int_stable E" |
|
1012 and A: "range A \<subseteq> sets E" "A \<up> space E" "\<And>i. measure M (A i) \<noteq> \<omega>" |
|
1013 and N: "measure_space N" "T \<in> measurable N M" |
|
1014 and M: "measure_space M" "sets (sigma E) = sets M" "space E = space M" |
|
1015 and eq: "\<And>X. X \<in> sets E \<Longrightarrow> measure M X = measure N (T -` X \<inter> space N)" |
|
1016 assumes X: "X \<in> sets (sigma E)" |
|
1017 shows "measure M X = measure N (T -` X \<inter> space N)" |
|
1018 proof (rule measure_unique_Int_stable[OF E A(1,2) _ _ eq _ X]) |
|
1019 interpret M: measure_space M by fact |
|
1020 interpret N: measure_space N by fact |
|
1021 let "?T X" = "T -` X \<inter> space N" |
|
1022 show "measure_space \<lparr>space = space E, sets = sets (sigma E), measure = measure M\<rparr>" |
|
1023 by (rule M.measure_space_cong) (auto simp: M) |
|
1024 show "measure_space \<lparr>space = space E, sets = sets (sigma E), measure = \<lambda>X. measure N (?T X)\<rparr>" (is "measure_space ?E") |
|
1025 proof (rule N.measure_space_vimage) |
|
1026 show "sigma_algebra ?E" |
|
1027 by (rule M.sigma_algebra_cong) (auto simp: M) |
|
1028 show "T \<in> measure_preserving N ?E" |
|
1029 using `T \<in> measurable N M` by (auto simp: M measurable_def measure_preserving_def) |
|
1030 qed |
|
1031 show "\<And>i. M.\<mu> (A i) \<noteq> \<omega>" by fact |
|
1032 qed |
|
1033 |
|
1034 lemma (in measure_space) measure_preserving_Int_stable: |
|
1035 fixes A :: "nat \<Rightarrow> 'a set" |
|
1036 assumes E: "Int_stable E" "range A \<subseteq> sets E" "A \<up> space E" "\<And>i. measure E (A i) \<noteq> \<omega>" |
|
1037 and N: "measure_space (sigma E)" |
|
1038 and T: "T \<in> measure_preserving M E" |
|
1039 shows "T \<in> measure_preserving M (sigma E)" |
|
1040 proof |
|
1041 interpret E: measure_space "sigma E" by fact |
|
1042 show "T \<in> measurable M (sigma E)" |
|
1043 using T E.sets_into_space |
|
1044 by (intro measurable_sigma) (auto simp: measure_preserving_def measurable_def) |
|
1045 fix X assume "X \<in> sets (sigma E)" |
|
1046 show "\<mu> (T -` X \<inter> space M) = E.\<mu> X" |
|
1047 proof (rule measure_unique_Int_stable_vimage[symmetric]) |
|
1048 show "sets (sigma E) = sets (sigma E)" "space E = space (sigma E)" |
|
1049 "\<And>i. E.\<mu> (A i) \<noteq> \<omega>" using E by auto |
|
1050 show "measure_space M" by default |
|
1051 next |
|
1052 fix X assume "X \<in> sets E" then show "E.\<mu> X = \<mu> (T -` X \<inter> space M)" |
|
1053 using T unfolding measure_preserving_def by auto |
|
1054 qed fact+ |
|
1055 qed |
|
1056 |
994 section "Real measure values" |
1057 section "Real measure values" |
995 |
1058 |
996 lemma (in measure_space) real_measure_Union: |
1059 lemma (in measure_space) real_measure_Union: |
997 assumes finite: "\<mu> A \<noteq> \<omega>" "\<mu> B \<noteq> \<omega>" |
1060 assumes finite: "\<mu> A \<noteq> \<omega>" "\<mu> B \<noteq> \<omega>" |
998 and measurable: "A \<in> sets M" "B \<in> sets M" "A \<inter> B = {}" |
1061 and measurable: "A \<in> sets M" "B \<in> sets M" "A \<inter> B = {}" |
1227 assumes "S \<in> sets M" "T \<in> sets M" |
1290 assumes "S \<in> sets M" "T \<in> sets M" |
1228 assumes T: "\<mu> T = \<mu> (space M)" |
1291 assumes T: "\<mu> T = \<mu> (space M)" |
1229 shows "\<mu> (S \<inter> T) = \<mu> S" |
1292 shows "\<mu> (S \<inter> T) = \<mu> S" |
1230 using measure_inter_full_set[OF assms(1,2) finite_measure assms(3)] assms |
1293 using measure_inter_full_set[OF assms(1,2) finite_measure assms(3)] assms |
1231 by auto |
1294 by auto |
1232 |
|
1233 section {* Measure preserving *} |
|
1234 |
|
1235 definition "measure_preserving A B = |
|
1236 {f \<in> measurable A B. (\<forall>y \<in> sets B. measure A (f -` y \<inter> space A) = measure B y)}" |
|
1237 |
1295 |
1238 lemma (in finite_measure) measure_preserving_lift: |
1296 lemma (in finite_measure) measure_preserving_lift: |
1239 fixes f :: "'a \<Rightarrow> 'c" and A :: "('c, 'd) measure_space_scheme" |
1297 fixes f :: "'a \<Rightarrow> 'c" and A :: "('c, 'd) measure_space_scheme" |
1240 assumes "algebra A" "finite_measure (sigma A)" (is "finite_measure ?sA") |
1298 assumes "algebra A" "finite_measure (sigma A)" (is "finite_measure ?sA") |
1241 assumes fmp: "f \<in> measure_preserving M A" |
1299 assumes fmp: "f \<in> measure_preserving M A" |