src/HOL/Probability/Projective_Family.thy
 changeset 57447 87429bdecad5 parent 57418 6ab1c7cb0b8d child 58876 1888e3cb8048
```--- a/src/HOL/Probability/Projective_Family.thy	Mon Jun 30 15:45:03 2014 +0200
+++ b/src/HOL/Probability/Projective_Family.thy	Mon Jun 30 15:45:21 2014 +0200
@@ -118,7 +118,7 @@
finally show ?thesis .
qed

-lemma limP_finite:
+lemma limP_finite[simp]:
assumes "finite J"
assumes "J \<subseteq> I"
shows "limP J M P = P J" (is "?P = _")
@@ -237,11 +237,11 @@
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\<^sub>M K M)"
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
+    using K J by (simp del: limP_finite)
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 (limP (K \<union> J) M P) (emb (K \<union> J) J X) = emeasure (limP J M P) X"
-    using K J by simp
+    using K J by (simp del: limP_finite)
finally show "emeasure (limP J M P) X = emeasure (limP K M P) Y" ..
qed (insert J, force)

@@ -255,7 +255,7 @@
proof -
from * obtain J X where J: "J \<noteq> {}" "finite J" "J \<subseteq> I" "A = emb I J X" "X \<in> sets (Pi\<^sub>M J M)"
unfolding generator_def by auto
-  with mu_G_spec[OF this] show ?thesis by auto
+  with mu_G_spec[OF this] show ?thesis by (auto simp del: limP_finite)
qed

lemma generatorE:
@@ -326,7 +326,7 @@
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 sets.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])
+      using J K JK_disj by (simp add: plus_emeasure[symmetric] del: limP_finite)
finally show "\<mu>G (A \<union> B) = \<mu>G A + \<mu>G B" .
qed
qed
@@ -334,19 +334,14 @@
end

sublocale product_prob_space \<subseteq> projective_family I "\<lambda>J. PiM J M" M
-proof
-  fix J::"'i set" assume "finite J"
+  fix J::"'i set" assume [simp]: "finite J"
interpret f: finite_product_prob_space M J proof qed fact
-  show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) \<noteq> \<infinity>" by simp
-  show "\<exists>A. range A \<subseteq> sets (Pi\<^sub>M J M) \<and>
-            (\<Union>i. A i) = space (Pi\<^sub>M J M) \<and>
-            (\<forall>i. emeasure (Pi\<^sub>M J M) (A i) \<noteq> \<infinity>)" using sigma_finite[OF `finite J`]
-    by (auto simp add: sigma_finite_measure_def)
-  show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) = 1" by (rule f.emeasure_space_1)
-qed simp_all
-
-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)
+  show "prob_space (Pi\<^sub>M J M)"
+  proof
+    show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) = 1"
+      by (simp add: space_PiM emeasure_PiM emeasure_space_1)
+  qed
+qed

end```