2346 shows "emeasure (restrict_space M \<Omega>) A = emeasure M A" |
2346 shows "emeasure (restrict_space M \<Omega>) A = emeasure M A" |
2347 proof (cases "A \<in> sets M") |
2347 proof (cases "A \<in> sets M") |
2348 case True |
2348 case True |
2349 show ?thesis |
2349 show ?thesis |
2350 proof (rule emeasure_measure_of[OF restrict_space_def]) |
2350 proof (rule emeasure_measure_of[OF restrict_space_def]) |
2351 show "op \<inter> \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)" "A \<in> sets (restrict_space M \<Omega>)" |
2351 show "(\<inter>) \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)" "A \<in> sets (restrict_space M \<Omega>)" |
2352 using \<open>A \<subseteq> \<Omega>\<close> \<open>A \<in> sets M\<close> sets.space_closed by (auto simp: sets_restrict_space) |
2352 using \<open>A \<subseteq> \<Omega>\<close> \<open>A \<in> sets M\<close> sets.space_closed by (auto simp: sets_restrict_space) |
2353 show "positive (sets (restrict_space M \<Omega>)) (emeasure M)" |
2353 show "positive (sets (restrict_space M \<Omega>)) (emeasure M)" |
2354 by (auto simp: positive_def) |
2354 by (auto simp: positive_def) |
2355 show "countably_additive (sets (restrict_space M \<Omega>)) (emeasure M)" |
2355 show "countably_additive (sets (restrict_space M \<Omega>)) (emeasure M)" |
2356 proof (rule countably_additiveI) |
2356 proof (rule countably_additiveI) |
2425 proof - |
2425 proof - |
2426 interpret sigma_finite_measure M by fact |
2426 interpret sigma_finite_measure M by fact |
2427 from sigma_finite_countable obtain C |
2427 from sigma_finite_countable obtain C |
2428 where C: "countable C" "C \<subseteq> sets M" "(\<Union>C) = space M" "\<forall>a\<in>C. emeasure M a \<noteq> \<infinity>" |
2428 where C: "countable C" "C \<subseteq> sets M" "(\<Union>C) = space M" "\<forall>a\<in>C. emeasure M a \<noteq> \<infinity>" |
2429 by blast |
2429 by blast |
2430 let ?C = "op \<inter> A ` C" |
2430 let ?C = "(\<inter>) A ` C" |
2431 from C have "countable ?C" "?C \<subseteq> sets (restrict_space M A)" "(\<Union>?C) = space (restrict_space M A)" |
2431 from C have "countable ?C" "?C \<subseteq> sets (restrict_space M A)" "(\<Union>?C) = space (restrict_space M A)" |
2432 by(auto simp add: sets_restrict_space space_restrict_space) |
2432 by(auto simp add: sets_restrict_space space_restrict_space) |
2433 moreover { |
2433 moreover { |
2434 fix a |
2434 fix a |
2435 assume "a \<in> ?C" |
2435 assume "a \<in> ?C" |
2859 done |
2859 done |
2860 qed |
2860 qed |
2861 also have "\<dots> = ?S (\<Union>i. X i)" |
2861 also have "\<dots> = ?S (\<Union>i. X i)" |
2862 unfolding UN_extend_simps(4) |
2862 unfolding UN_extend_simps(4) |
2863 by (auto simp add: suminf_add[symmetric] Diff_eq[symmetric] simp del: UN_simps |
2863 by (auto simp add: suminf_add[symmetric] Diff_eq[symmetric] simp del: UN_simps |
2864 intro!: SUP_cong arg_cong2[where f="op +"] suminf_emeasure |
2864 intro!: SUP_cong arg_cong2[where f="(+)"] suminf_emeasure |
2865 disjoint_family_on_bisimulation[OF \<open>disjoint_family X\<close>]) |
2865 disjoint_family_on_bisimulation[OF \<open>disjoint_family X\<close>]) |
2866 finally show "(\<Sum>i. ?S (X i)) = ?S (\<Union>i. X i)" . |
2866 finally show "(\<Sum>i. ?S (X i)) = ?S (\<Union>i. X i)" . |
2867 qed |
2867 qed |
2868 qed (auto dest: sets.sets_into_space simp: positive_def intro!: SUP_const) |
2868 qed (auto dest: sets.sets_into_space simp: positive_def intro!: SUP_const) |
2869 qed |
2869 qed |
3393 finally show ?thesis . |
3393 finally show ?thesis . |
3394 qed |
3394 qed |
3395 |
3395 |
3396 lemma emeasure_SUP_chain: |
3396 lemma emeasure_SUP_chain: |
3397 assumes sets: "\<And>i. i \<in> A \<Longrightarrow> sets (M i) = sets N" "X \<in> sets N" |
3397 assumes sets: "\<And>i. i \<in> A \<Longrightarrow> sets (M i) = sets N" "X \<in> sets N" |
3398 assumes ch: "Complete_Partial_Order.chain op \<le> (M ` A)" and "A \<noteq> {}" |
3398 assumes ch: "Complete_Partial_Order.chain (\<le>) (M ` A)" and "A \<noteq> {}" |
3399 shows "emeasure (SUP i:A. M i) X = (SUP i:A. emeasure (M i) X)" |
3399 shows "emeasure (SUP i:A. M i) X = (SUP i:A. emeasure (M i) X)" |
3400 proof (subst emeasure_SUP[OF sets \<open>A \<noteq> {}\<close>]) |
3400 proof (subst emeasure_SUP[OF sets \<open>A \<noteq> {}\<close>]) |
3401 show "(SUP J:{J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}. emeasure (SUPREMUM J M) X) = (SUP i:A. emeasure (M i) X)" |
3401 show "(SUP J:{J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}. emeasure (SUPREMUM J M) X) = (SUP i:A. emeasure (M i) X)" |
3402 proof (rule SUP_eq) |
3402 proof (rule SUP_eq) |
3403 fix J assume "J \<in> {J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}" |
3403 fix J assume "J \<in> {J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}" |
3404 then have J: "Complete_Partial_Order.chain op \<le> (M ` J)" "finite J" "J \<noteq> {}" and "J \<subseteq> A" |
3404 then have J: "Complete_Partial_Order.chain (\<le>) (M ` J)" "finite J" "J \<noteq> {}" and "J \<subseteq> A" |
3405 using ch[THEN chain_subset, of "M`J"] by auto |
3405 using ch[THEN chain_subset, of "M`J"] by auto |
3406 with in_chain_finite[OF J(1)] obtain j where "j \<in> J" "(SUP j:J. M j) = M j" |
3406 with in_chain_finite[OF J(1)] obtain j where "j \<in> J" "(SUP j:J. M j) = M j" |
3407 by auto |
3407 by auto |
3408 with \<open>J \<subseteq> A\<close> show "\<exists>j\<in>A. emeasure (SUPREMUM J M) X \<le> emeasure (M j) X" |
3408 with \<open>J \<subseteq> A\<close> show "\<exists>j\<in>A. emeasure (SUPREMUM J M) X \<le> emeasure (M j) X" |
3409 by auto |
3409 by auto |