src/HOL/Probability/Borel_Space.thy
changeset 57036 22568fb89165
parent 56994 8d5e5ec1cac3
child 57137 f174712d0a84
equal deleted inserted replaced
57035:e865c4d99c49 57036:22568fb89165
  1185     finally show ?thesis .
  1185     finally show ?thesis .
  1186   qed simp
  1186   qed simp
  1187 qed auto
  1187 qed auto
  1188 
  1188 
  1189 lemma sets_Collect_Cauchy[measurable]: 
  1189 lemma sets_Collect_Cauchy[measurable]: 
  1190   fixes f :: "nat \<Rightarrow> 'a => real"
  1190   fixes f :: "nat \<Rightarrow> 'a => 'b::{metric_space, second_countable_topology}"
  1191   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1191   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1192   shows "{x\<in>space M. Cauchy (\<lambda>i. f i x)} \<in> sets M"
  1192   shows "{x\<in>space M. Cauchy (\<lambda>i. f i x)} \<in> sets M"
  1193   unfolding Cauchy_iff2 using f by auto
  1193   unfolding metric_Cauchy_iff2 using f by auto
  1194 
  1194 
  1195 lemma borel_measurable_lim[measurable (raw)]:
  1195 lemma borel_measurable_lim[measurable (raw)]:
  1196   fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> real"
  1196   fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{banach, second_countable_topology}"
  1197   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1197   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1198   shows "(\<lambda>x. lim (\<lambda>i. f i x)) \<in> borel_measurable M"
  1198   shows "(\<lambda>x. lim (\<lambda>i. f i x)) \<in> borel_measurable M"
  1199 proof -
  1199 proof -
  1200   def u' \<equiv> "\<lambda>x. lim (\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0)"
  1200   def u' \<equiv> "\<lambda>x. lim (\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0)"
  1201   then have *: "\<And>x. lim (\<lambda>i. f i x) = (if Cauchy (\<lambda>i. f i x) then u' x else (THE x. False))"
  1201   then have *: "\<And>x. lim (\<lambda>i. f i x) = (if Cauchy (\<lambda>i. f i x) then u' x else (THE x. False))"
  1202     by (auto simp: lim_def convergent_eq_cauchy[symmetric])
  1202     by (auto simp: lim_def convergent_eq_cauchy[symmetric])
  1203   have "u' \<in> borel_measurable M"
  1203   have "u' \<in> borel_measurable M"
  1204   proof (rule borel_measurable_LIMSEQ)
  1204   proof (rule borel_measurable_LIMSEQ_metric)
  1205     fix x
  1205     fix x
  1206     have "convergent (\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0)"
  1206     have "convergent (\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0)"
  1207       by (cases "Cauchy (\<lambda>i. f i x)")
  1207       by (cases "Cauchy (\<lambda>i. f i x)")
  1208          (auto simp add: convergent_eq_cauchy[symmetric] convergent_def)
  1208          (auto simp add: convergent_eq_cauchy[symmetric] convergent_def)
  1209     then show "(\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0) ----> u' x"
  1209     then show "(\<lambda>i. if Cauchy (\<lambda>i. f i x) then f i x else 0) ----> u' x"
  1213   then show ?thesis
  1213   then show ?thesis
  1214     unfolding * by measurable
  1214     unfolding * by measurable
  1215 qed
  1215 qed
  1216 
  1216 
  1217 lemma borel_measurable_suminf[measurable (raw)]:
  1217 lemma borel_measurable_suminf[measurable (raw)]:
  1218   fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> real"
  1218   fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{banach, second_countable_topology}"
  1219   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1219   assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M"
  1220   shows "(\<lambda>x. suminf (\<lambda>i. f i x)) \<in> borel_measurable M"
  1220   shows "(\<lambda>x. suminf (\<lambda>i. f i x)) \<in> borel_measurable M"
  1221   unfolding suminf_def sums_def[abs_def] lim_def[symmetric] by simp
  1221   unfolding suminf_def sums_def[abs_def] lim_def[symmetric] by simp
  1222 
  1222 
  1223 no_notation
  1223 no_notation