src/HOL/Analysis/Caratheodory.thy
changeset 70136 f03a01a18c6e
parent 69768 7e4966eaf781
child 74362 0135a0c77b64
equal deleted inserted replaced
70135:ad6d4a14adb5 70136:f03a01a18c6e
    49     by (simp add: suminf_eq_SUP)
    49     by (simp add: suminf_eq_SUP)
    50 qed
    50 qed
    51 
    51 
    52 subsection \<open>Characterizations of Measures\<close>
    52 subsection \<open>Characterizations of Measures\<close>
    53 
    53 
    54 definition%important outer_measure_space where
    54 definition\<^marker>\<open>tag important\<close> outer_measure_space where
    55   "outer_measure_space M f \<longleftrightarrow> positive M f \<and> increasing M f \<and> countably_subadditive M f"
    55   "outer_measure_space M f \<longleftrightarrow> positive M f \<and> increasing M f \<and> countably_subadditive M f"
    56 
    56 
    57 subsubsection%important \<open>Lambda Systems\<close>
    57 subsubsection\<^marker>\<open>tag important\<close> \<open>Lambda Systems\<close>
    58 
    58 
    59 definition%important lambda_system :: "'a set \<Rightarrow> 'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> 'a set set"
    59 definition\<^marker>\<open>tag important\<close> lambda_system :: "'a set \<Rightarrow> 'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> 'a set set"
    60 where
    60 where
    61   "lambda_system \<Omega> M f = {l \<in> M. \<forall>x \<in> M. f (l \<inter> x) + f ((\<Omega> - l) \<inter> x) = f x}"
    61   "lambda_system \<Omega> M f = {l \<in> M. \<forall>x \<in> M. f (l \<inter> x) + f ((\<Omega> - l) \<inter> x) = f x}"
    62 
    62 
    63 lemma (in algebra) lambda_system_eq:
    63 lemma (in algebra) lambda_system_eq:
    64   "lambda_system \<Omega> M f = {l \<in> M. \<forall>x \<in> M. f (x \<inter> l) + f (x - l) = f x}"
    64   "lambda_system \<Omega> M f = {l \<in> M. \<forall>x \<in> M. f (x \<inter> l) + f (x - l) = f x}"
   295   ultimately
   295   ultimately
   296   show ?thesis
   296   show ?thesis
   297     using pos by (simp add: measure_space_def)
   297     using pos by (simp add: measure_space_def)
   298 qed
   298 qed
   299 
   299 
   300 definition%important outer_measure :: "'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> 'a set \<Rightarrow> ennreal" where
   300 definition\<^marker>\<open>tag important\<close> outer_measure :: "'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> 'a set \<Rightarrow> ennreal" where
   301    "outer_measure M f X =
   301    "outer_measure M f X =
   302      (INF A\<in>{A. range A \<subseteq> M \<and> disjoint_family A \<and> X \<subseteq> (\<Union>i. A i)}. \<Sum>i. f (A i))"
   302      (INF A\<in>{A. range A \<subseteq> M \<and> disjoint_family A \<and> X \<subseteq> (\<Union>i. A i)}. \<Sum>i. f (A i))"
   303 
   303 
   304 lemma (in ring_of_sets) outer_measure_agrees:
   304 lemma (in ring_of_sets) outer_measure_agrees:
   305   assumes posf: "positive M f" and ca: "countably_additive M f" and s: "s \<in> M"
   305   assumes posf: "positive M f" and ca: "countably_additive M f" and s: "s \<in> M"
   497   show "\<forall>A\<in>M. f A \<noteq> \<infinity>" using fin by auto
   497   show "\<forall>A\<in>M. f A \<noteq> \<infinity>" using fin by auto
   498 qed (rule cont)
   498 qed (rule cont)
   499 
   499 
   500 subsection \<open>Volumes\<close>
   500 subsection \<open>Volumes\<close>
   501 
   501 
   502 definition%important volume :: "'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> bool" where
   502 definition\<^marker>\<open>tag important\<close> volume :: "'a set set \<Rightarrow> ('a set \<Rightarrow> ennreal) \<Rightarrow> bool" where
   503   "volume M f \<longleftrightarrow>
   503   "volume M f \<longleftrightarrow>
   504   (f {} = 0) \<and> (\<forall>a\<in>M. 0 \<le> f a) \<and>
   504   (f {} = 0) \<and> (\<forall>a\<in>M. 0 \<le> f a) \<and>
   505   (\<forall>C\<subseteq>M. disjoint C \<longrightarrow> finite C \<longrightarrow> \<Union>C \<in> M \<longrightarrow> f (\<Union>C) = (\<Sum>c\<in>C. f c))"
   505   (\<forall>C\<subseteq>M. disjoint C \<longrightarrow> finite C \<longrightarrow> \<Union>C \<in> M \<longrightarrow> f (\<Union>C) = (\<Sum>c\<in>C. f c))"
   506 
   506 
   507 lemma volumeI:
   507 lemma volumeI:
   633     finally show "\<mu>' (a \<union> b) = \<mu>' a + \<mu>' b"
   633     finally show "\<mu>' (a \<union> b) = \<mu>' a + \<mu>' b"
   634       using Ca Cb by simp
   634       using Ca Cb by simp
   635   qed
   635   qed
   636 qed
   636 qed
   637 
   637 
   638 subsubsection%important \<open>Caratheodory on semirings\<close>
   638 subsubsection\<^marker>\<open>tag important\<close> \<open>Caratheodory on semirings\<close>
   639 
   639 
   640 theorem (in semiring_of_sets) caratheodory:
   640 theorem (in semiring_of_sets) caratheodory:
   641   assumes pos: "positive M \<mu>" and ca: "countably_additive M \<mu>"
   641   assumes pos: "positive M \<mu>" and ca: "countably_additive M \<mu>"
   642   shows "\<exists>\<mu>' :: 'a set \<Rightarrow> ennreal. (\<forall>s \<in> M. \<mu>' s = \<mu> s) \<and> measure_space \<Omega> (sigma_sets \<Omega> M) \<mu>'"
   642   shows "\<exists>\<mu>' :: 'a set \<Rightarrow> ennreal. (\<forall>s \<in> M. \<mu>' s = \<mu> s) \<and> measure_space \<Omega> (sigma_sets \<Omega> M) \<mu>'"
   643 proof -
   643 proof -