553 unfolding sigma_def by (auto intro!: sigma_sets.Basic) |
553 unfolding sigma_def by (auto intro!: sigma_sets.Basic) |
554 |
554 |
555 lemma (in sigma_algebra) sigma_eq[simp]: "sigma M = M" |
555 lemma (in sigma_algebra) sigma_eq[simp]: "sigma M = M" |
556 unfolding sigma_def sigma_sets_eq by simp |
556 unfolding sigma_def sigma_sets_eq by simp |
557 |
557 |
|
558 lemma sigma_sigma_eq: |
|
559 assumes "sets M \<subseteq> Pow (space M)" |
|
560 shows "sigma (sigma M) = sigma M" |
|
561 using sigma_algebra.sigma_eq[OF sigma_algebra_sigma, OF assms] . |
|
562 |
|
563 lemma sigma_sets_sigma_sets_eq: |
|
564 "M \<subseteq> Pow S \<Longrightarrow> sigma_sets S (sigma_sets S M) = sigma_sets S M" |
|
565 using sigma_sigma_eq[of "\<lparr> space = S, sets = M \<rparr>"] |
|
566 by (simp add: sigma_def) |
|
567 |
558 lemma sigma_sets_singleton: |
568 lemma sigma_sets_singleton: |
559 assumes "X \<subseteq> S" |
569 assumes "X \<subseteq> S" |
560 shows "sigma_sets S { X } = { {}, X, S - X, S }" |
570 shows "sigma_sets S { X } = { {}, X, S - X, S }" |
561 proof - |
571 proof - |
562 interpret sigma_algebra "\<lparr> space = S, sets = { {}, X, S - X, S }\<rparr>" |
572 interpret sigma_algebra "\<lparr> space = S, sets = { {}, X, S - X, S }\<rparr>" |
583 have "S \<in> sigma_sets (space M) (sets M)" "S \<subseteq> space M" |
593 have "S \<in> sigma_sets (space M) (sets M)" "S \<subseteq> space M" |
584 by (auto simp: sigma_def) |
594 by (auto simp: sigma_def) |
585 from sigma_sets_Int[OF this] |
595 from sigma_sets_Int[OF this] |
586 show ?thesis |
596 show ?thesis |
587 by (simp add: sigma_def) |
597 by (simp add: sigma_def) |
|
598 qed |
|
599 |
|
600 lemma sigma_sets_vimage_commute: |
|
601 assumes X: "X \<in> space M \<rightarrow> space M'" |
|
602 shows "{X -` A \<inter> space M |A. A \<in> sets (sigma M')} |
|
603 = sigma_sets (space M) {X -` A \<inter> space M |A. A \<in> sets M'}" (is "?L = ?R") |
|
604 proof |
|
605 show "?L \<subseteq> ?R" |
|
606 proof clarify |
|
607 fix A assume "A \<in> sets (sigma M')" |
|
608 then have "A \<in> sigma_sets (space M') (sets M')" by (simp add: sets_sigma) |
|
609 then show "X -` A \<inter> space M \<in> ?R" |
|
610 proof induct |
|
611 case (Basic B) then show ?case |
|
612 by (auto intro!: sigma_sets.Basic) |
|
613 next |
|
614 case Empty then show ?case |
|
615 by (auto intro!: sigma_sets.Empty) |
|
616 next |
|
617 case (Compl B) |
|
618 have [simp]: "X -` (space M' - B) \<inter> space M = space M - (X -` B \<inter> space M)" |
|
619 by (auto simp add: funcset_mem [OF X]) |
|
620 with Compl show ?case |
|
621 by (auto intro!: sigma_sets.Compl) |
|
622 next |
|
623 case (Union F) |
|
624 then show ?case |
|
625 by (auto simp add: vimage_UN UN_extend_simps(4) simp del: UN_simps |
|
626 intro!: sigma_sets.Union) |
|
627 qed |
|
628 qed |
|
629 show "?R \<subseteq> ?L" |
|
630 proof clarify |
|
631 fix A assume "A \<in> ?R" |
|
632 then show "\<exists>B. A = X -` B \<inter> space M \<and> B \<in> sets (sigma M')" |
|
633 proof induct |
|
634 case (Basic B) then show ?case by auto |
|
635 next |
|
636 case Empty then show ?case |
|
637 by (auto simp: sets_sigma intro!: sigma_sets.Empty exI[of _ "{}"]) |
|
638 next |
|
639 case (Compl B) |
|
640 then obtain A where A: "B = X -` A \<inter> space M" "A \<in> sets (sigma M')" by auto |
|
641 then have [simp]: "space M - B = X -` (space M' - A) \<inter> space M" |
|
642 by (auto simp add: funcset_mem [OF X]) |
|
643 with A(2) show ?case |
|
644 by (auto simp: sets_sigma intro: sigma_sets.Compl) |
|
645 next |
|
646 case (Union F) |
|
647 then have "\<forall>i. \<exists>B. F i = X -` B \<inter> space M \<and> B \<in> sets (sigma M')" by auto |
|
648 from choice[OF this] guess A .. note A = this |
|
649 with A show ?case |
|
650 by (auto simp: sets_sigma vimage_UN[symmetric] intro: sigma_sets.Union) |
|
651 qed |
|
652 qed |
588 qed |
653 qed |
589 |
654 |
590 section {* Measurable functions *} |
655 section {* Measurable functions *} |
591 |
656 |
592 definition |
657 definition |