src/HOL/Probability/Projective_Family.thy
changeset 50095 94d7dfa9f404
parent 50087 635d73673b5e
child 50101 a3bede207a04
--- a/src/HOL/Probability/Projective_Family.thy	Fri Nov 16 11:22:22 2012 +0100
+++ b/src/HOL/Probability/Projective_Family.thy	Fri Nov 16 11:34:34 2012 +0100
@@ -57,22 +57,24 @@
      (simp add: prod_emb_def space_PiM emeasure_distr measurable_restrict_subset L X)
 
 definition
-  PiP :: "'i set \<Rightarrow> ('i \<Rightarrow> 'a measure) \<Rightarrow> ('i set \<Rightarrow> ('i \<Rightarrow> 'a) measure) \<Rightarrow> ('i \<Rightarrow> 'a) measure" where
-  "PiP I M P = extend_measure (\<Pi>\<^isub>E i\<in>I. space (M i))
+  limP :: "'i set \<Rightarrow> ('i \<Rightarrow> 'a measure) \<Rightarrow> ('i set \<Rightarrow> ('i \<Rightarrow> 'a) measure) \<Rightarrow> ('i \<Rightarrow> 'a) measure" where
+  "limP I M P = extend_measure (\<Pi>\<^isub>E i\<in>I. space (M i))
     {(J, X). (J \<noteq> {} \<or> I = {}) \<and> finite J \<and> J \<subseteq> I \<and> X \<in> (\<Pi> j\<in>J. sets (M j))}
     (\<lambda>(J, X). prod_emb I M J (\<Pi>\<^isub>E j\<in>J. X j))
     (\<lambda>(J, X). emeasure (P J) (Pi\<^isub>E J X))"
 
-lemma space_PiP[simp]: "space (PiP I M P) = space (PiM I M)"
-  by (auto simp add: PiP_def space_PiM prod_emb_def intro!: space_extend_measure)
+abbreviation "lim\<^isub>P \<equiv> limP"
+
+lemma space_limP[simp]: "space (limP I M P) = space (PiM I M)"
+  by (auto simp add: limP_def space_PiM prod_emb_def intro!: space_extend_measure)
 
-lemma sets_PiP[simp]: "sets (PiP I M P) = sets (PiM I M)"
-  by (auto simp add: PiP_def sets_PiM prod_algebra_def prod_emb_def intro!: sets_extend_measure)
+lemma sets_limP[simp]: "sets (limP I M P) = sets (PiM I M)"
+  by (auto simp add: limP_def sets_PiM prod_algebra_def prod_emb_def intro!: sets_extend_measure)
 
-lemma measurable_PiP1[simp]: "measurable (PiP I M P) M' = measurable (\<Pi>\<^isub>M i\<in>I. M i) M'"
+lemma measurable_limP1[simp]: "measurable (limP I M P) M' = measurable (\<Pi>\<^isub>M i\<in>I. M i) M'"
   unfolding measurable_def by auto
 
-lemma measurable_PiP2[simp]: "measurable M' (PiP I M P) = measurable M' (\<Pi>\<^isub>M i\<in>I. M i)"
+lemma measurable_limP2[simp]: "measurable M' (limP I M P) = measurable M' (\<Pi>\<^isub>M i\<in>I. M i)"
   unfolding measurable_def by auto
 
 locale projective_family =
@@ -84,11 +86,11 @@
   assumes proj_sets: "\<And>J. finite J \<Longrightarrow> sets (P J) = sets (PiM J M)"
 begin
 
-lemma emeasure_PiP:
+lemma emeasure_limP:
   assumes "finite J"
   assumes "J \<subseteq> I"
   assumes A: "\<And>i. i\<in>J \<Longrightarrow> A i \<in> sets (M i)"
-  shows "emeasure (PiP J M P) (Pi\<^isub>E J A) = emeasure (P J) (Pi\<^isub>E J A)"
+  shows "emeasure (limP J M P) (Pi\<^isub>E J A) = emeasure (P J) (Pi\<^isub>E J A)"
 proof -
   have "Pi\<^isub>E J (restrict A J) \<subseteq> (\<Pi>\<^isub>E i\<in>J. space (M i))"
   proof safe
@@ -97,13 +99,13 @@
     also have "\<dots> \<subseteq> space (M j)" using sets_into_space A `j \<in> J` by auto
     finally show "x j \<in> space (M j)" .
   qed
-  hence "emeasure (PiP J M P) (Pi\<^isub>E J A) =
-    emeasure (PiP J M P) (prod_emb J M J (Pi\<^isub>E J A))"
+  hence "emeasure (limP J M P) (Pi\<^isub>E J A) =
+    emeasure (limP J M P) (prod_emb J M J (Pi\<^isub>E J A))"
     using assms(1-3) sets_into_space by (auto simp add: prod_emb_id Pi_def)
   also have "\<dots> = emeasure (P J) (Pi\<^isub>E J A)"
-  proof (rule emeasure_extend_measure_Pair[OF PiP_def])
-    show "positive (sets (PiP J M P)) (P J)" unfolding positive_def by auto
-    show "countably_additive (sets (PiP J M P)) (P J)" unfolding countably_additive_def
+  proof (rule emeasure_extend_measure_Pair[OF limP_def])
+    show "positive (sets (limP J M P)) (P J)" unfolding positive_def by auto
+    show "countably_additive (sets (limP J M P)) (P J)" unfolding countably_additive_def
       by (auto simp: suminf_emeasure proj_sets[OF `finite J`])
     show "(J \<noteq> {} \<or> J = {}) \<and> finite J \<and> J \<subseteq> J \<and> A \<in> (\<Pi> j\<in>J. sets (M j))"
       using assms by auto
@@ -121,10 +123,10 @@
   finally show ?thesis .
 qed
 
-lemma PiP_finite:
+lemma limP_finite:
   assumes "finite J"
   assumes "J \<subseteq> I"
-  shows "PiP J M P = P J" (is "?P = _")
+  shows "limP J M P = P J" (is "?P = _")
 proof (rule measure_eqI_generator_eq)
   let ?J = "{Pi\<^isub>E J E | E. \<forall>i\<in>J. E i \<in> sets (M i)}"
   let ?F = "\<lambda>i. \<Pi>\<^isub>E k\<in>J. space (M k)"
@@ -132,26 +134,26 @@
   show "Int_stable ?J"
     by (rule Int_stable_PiE)
   interpret prob_space "P J" using prob_space `finite J` by simp
-  show "emeasure ?P (?F _) \<noteq> \<infinity>" using assms `finite J` by (auto simp: emeasure_PiP)
+  show "emeasure ?P (?F _) \<noteq> \<infinity>" using assms `finite J` by (auto simp: emeasure_limP)
   show "?J \<subseteq> Pow ?\<Omega>" by (auto simp: Pi_iff dest: sets_into_space)
-  show "sets (PiP J M P) = sigma_sets ?\<Omega> ?J" "sets (P J) = sigma_sets ?\<Omega> ?J"
+  show "sets (limP J M P) = sigma_sets ?\<Omega> ?J" "sets (P J) = sigma_sets ?\<Omega> ?J"
     using `finite J` proj_sets by (simp_all add: sets_PiM prod_algebra_eq_finite Pi_iff)
   fix X assume "X \<in> ?J"
   then obtain E where X: "X = Pi\<^isub>E J E" and E: "\<forall>i\<in>J. E i \<in> sets (M i)" by auto
-  with `finite J` have "X \<in> sets (PiP J M P)" by simp
+  with `finite J` have "X \<in> sets (limP J M P)" by simp
   have emb_self: "prod_emb J M J (Pi\<^isub>E J E) = Pi\<^isub>E J E"
     using E sets_into_space
     by (auto intro!: prod_emb_PiE_same_index)
-  show "emeasure (PiP J M P) X = emeasure (P J) X"
+  show "emeasure (limP J M P) X = emeasure (P J) X"
     unfolding X using E
-    by (intro emeasure_PiP assms) simp
+    by (intro emeasure_limP assms) simp
 qed (insert `finite J`, auto intro!: prod_algebraI_finite)
 
 lemma emeasure_fun_emb[simp]:
   assumes L: "J \<noteq> {}" "J \<subseteq> L" "finite L" "L \<subseteq> I" and X: "X \<in> sets (PiM J M)"
-  shows "emeasure (PiP L M P) (prod_emb L M J X) = emeasure (PiP J M P) X"
+  shows "emeasure (limP L M P) (prod_emb L M J X) = emeasure (limP J M P) X"
   using assms
-  by (subst PiP_finite) (auto simp: PiP_finite finite_subset projective)
+  by (subst limP_finite) (auto simp: limP_finite finite_subset projective)
 
 lemma prod_emb_injective:
   assumes "J \<noteq> {}" "J \<subseteq> L" "finite J" and sets: "X \<in> sets (Pi\<^isub>M J M)" "Y \<in> sets (Pi\<^isub>M J M)"
@@ -235,30 +237,30 @@
 
 definition
   "\<mu>G A =
-    (THE x. \<forall>J. J \<noteq> {} \<longrightarrow> finite J \<longrightarrow> J \<subseteq> I \<longrightarrow> (\<forall>X\<in>sets (Pi\<^isub>M J M). A = emb I J X \<longrightarrow> x = emeasure (PiP J M P) X))"
+    (THE x. \<forall>J. J \<noteq> {} \<longrightarrow> finite J \<longrightarrow> J \<subseteq> I \<longrightarrow> (\<forall>X\<in>sets (Pi\<^isub>M J M). A = emb I J X \<longrightarrow> x = emeasure (limP J M P) X))"
 
 lemma \<mu>G_spec:
   assumes J: "J \<noteq> {}" "finite J" "J \<subseteq> I" "A = emb I J X" "X \<in> sets (Pi\<^isub>M J M)"
-  shows "\<mu>G A = emeasure (PiP J M P) X"
+  shows "\<mu>G A = emeasure (limP J M P) X"
   unfolding \<mu>G_def
 proof (intro the_equality allI impI ballI)
   fix K Y assume K: "K \<noteq> {}" "finite K" "K \<subseteq> I" "A = emb I K Y" "Y \<in> sets (Pi\<^isub>M K M)"
-  have "emeasure (PiP K M P) Y = emeasure (PiP (K \<union> J) M P) (emb (K \<union> J) K Y)"
+  have "emeasure (limP K M P) Y = emeasure (limP (K \<union> J) M P) (emb (K \<union> J) K Y)"
     using K J by simp
   also have "emb (K \<union> J) K Y = emb (K \<union> J) J X"
     using K J by (simp add: prod_emb_injective[of "K \<union> J" I])
-  also have "emeasure (PiP (K \<union> J) M P) (emb (K \<union> J) J X) = emeasure (PiP J M P) X"
+  also have "emeasure (limP (K \<union> J) M P) (emb (K \<union> J) J X) = emeasure (limP J M P) X"
     using K J by simp
-  finally show "emeasure (PiP J M P) X = emeasure (PiP K M P) Y" ..
+  finally show "emeasure (limP J M P) X = emeasure (limP K M P) Y" ..
 qed (insert J, force)
 
 lemma \<mu>G_eq:
-  "J \<noteq> {} \<Longrightarrow> finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> X \<in> sets (Pi\<^isub>M J M) \<Longrightarrow> \<mu>G (emb I J X) = emeasure (PiP J M P) X"
+  "J \<noteq> {} \<Longrightarrow> finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> X \<in> sets (Pi\<^isub>M J M) \<Longrightarrow> \<mu>G (emb I J X) = emeasure (limP J M P) X"
   by (intro \<mu>G_spec) auto
 
 lemma generator_Ex:
   assumes *: "A \<in> generator"
-  shows "\<exists>J X. J \<noteq> {} \<and> finite J \<and> J \<subseteq> I \<and> X \<in> sets (Pi\<^isub>M J M) \<and> A = emb I J X \<and> \<mu>G A = emeasure (PiP J M P) X"
+  shows "\<exists>J X. J \<noteq> {} \<and> finite J \<and> J \<subseteq> I \<and> X \<in> sets (Pi\<^isub>M J M) \<and> A = emb I J X \<and> \<mu>G A = emeasure (limP J M P) X"
 proof -
   from * obtain J X where J: "J \<noteq> {}" "finite J" "J \<subseteq> I" "A = emb I J X" "X \<in> sets (Pi\<^isub>M J M)"
     unfolding generator_def by auto
@@ -267,10 +269,10 @@
 
 lemma generatorE:
   assumes A: "A \<in> generator"
-  obtains J X where "J \<noteq> {}" "finite J" "J \<subseteq> I" "X \<in> sets (Pi\<^isub>M J M)" "emb I J X = A" "\<mu>G A = emeasure (PiP J M P) X"
+  obtains J X where "J \<noteq> {}" "finite J" "J \<subseteq> I" "X \<in> sets (Pi\<^isub>M J M)" "emb I J X = A" "\<mu>G A = emeasure (limP J M P) X"
 proof -
   from generator_Ex[OF A] obtain X J where "J \<noteq> {}" "finite J" "J \<subseteq> I" "X \<in> sets (Pi\<^isub>M J M)" "emb I J X = A"
-    "\<mu>G A = emeasure (PiP J M P) X" by auto
+    "\<mu>G A = emeasure (limP J M P) X" by auto
   then show thesis by (intro that) auto
 qed
 
@@ -334,7 +336,7 @@
       using J K by simp_all
     then have "\<mu>G (A \<union> B) = \<mu>G (emb I (J \<union> K) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y))"
       by simp
-    also have "\<dots> = emeasure (PiP (J \<union> K) M P) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y)"
+    also have "\<dots> = emeasure (limP (J \<union> K) M P) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y)"
       using JK J(1, 4) K(1, 4) by (simp add: \<mu>G_eq Un del: prod_emb_Un)
     also have "\<dots> = \<mu>G A + \<mu>G B"
       using J K JK_disj by (simp add: plus_emeasure[symmetric])
@@ -356,8 +358,8 @@
   show "emeasure (Pi\<^isub>M J M) (space (Pi\<^isub>M J M)) = 1" by (rule f.emeasure_space_1)
 qed simp_all
 
-lemma (in product_prob_space) PiP_PiM_finite[simp]:
-  assumes "J \<noteq> {}" "finite J" "J \<subseteq> I" shows "PiP J M (\<lambda>J. PiM J M) = PiM J M"
-  using assms by (simp add: PiP_finite)
+lemma (in product_prob_space) limP_PiM_finite[simp]:
+  assumes "J \<noteq> {}" "finite J" "J \<subseteq> I" shows "limP J M (\<lambda>J. PiM J M) = PiM J M"
+  using assms by (simp add: limP_finite)
 
 end