src/HOL/Probability/Borel_Space.thy
changeset 41096 843c40bbc379
parent 41083 c987429a1298
child 41097 a1abfa4e2b44
equal deleted inserted replaced
41095:c335d880ff82 41096:843c40bbc379
  1345      by (auto simp: fun_eq_iff pextreal_noteq_omega_Ex)
  1345      by (auto simp: fun_eq_iff pextreal_noteq_omega_Ex)
  1346   show ?thesis using assms unfolding *
  1346   show ?thesis using assms unfolding *
  1347     by (auto intro!: measurable_If)
  1347     by (auto intro!: measurable_If)
  1348 qed
  1348 qed
  1349 
  1349 
  1350 lemma (in sigma_algebra) borel_measurable_pextreal_times[intro, simp]:
       
  1351   fixes f :: "'a \<Rightarrow> pextreal" assumes "f \<in> borel_measurable M" "g \<in> borel_measurable M"
       
  1352   shows "(\<lambda>x. f x * g x) \<in> borel_measurable M"
       
  1353 proof -
       
  1354   have *: "(\<lambda>x. f x * g x) =
       
  1355      (\<lambda>x. if f x = 0 then 0 else if g x = 0 then 0 else if f x = \<omega> then \<omega> else if g x = \<omega> then \<omega> else
       
  1356       Real (real (f x) * real (g x)))"
       
  1357      by (auto simp: fun_eq_iff pextreal_noteq_omega_Ex)
       
  1358   show ?thesis using assms unfolding *
       
  1359     by (auto intro!: measurable_If)
       
  1360 qed
       
  1361 
       
  1362 lemma (in sigma_algebra) borel_measurable_pextreal_setsum[simp, intro]:
  1350 lemma (in sigma_algebra) borel_measurable_pextreal_setsum[simp, intro]:
  1363   fixes f :: "'c \<Rightarrow> 'a \<Rightarrow> pextreal"
  1351   fixes f :: "'c \<Rightarrow> 'a \<Rightarrow> pextreal"
  1364   assumes "\<And>i. i \<in> S \<Longrightarrow> f i \<in> borel_measurable M"
  1352   assumes "\<And>i. i \<in> S \<Longrightarrow> f i \<in> borel_measurable M"
  1365   shows "(\<lambda>x. \<Sum>i\<in>S. f i x) \<in> borel_measurable M"
  1353   shows "(\<lambda>x. \<Sum>i\<in>S. f i x) \<in> borel_measurable M"
  1366 proof cases
  1354 proof cases
  1367   assume "finite S"
  1355   assume "finite S"
  1368   thus ?thesis using assms
  1356   thus ?thesis using assms
  1369     by induct auto
  1357     by induct auto
  1370 qed (simp add: borel_measurable_const)
  1358 qed (simp add: borel_measurable_const)
       
  1359 
       
  1360 lemma (in sigma_algebra) borel_measurable_pextreal_times[intro, simp]:
       
  1361   fixes f :: "'a \<Rightarrow> pextreal" assumes "f \<in> borel_measurable M" "g \<in> borel_measurable M"
       
  1362   shows "(\<lambda>x. f x * g x) \<in> borel_measurable M"
       
  1363 proof -
       
  1364   have *: "(\<lambda>x. f x * g x) =
       
  1365      (\<lambda>x. if f x = 0 then 0 else if g x = 0 then 0 else if f x = \<omega> then \<omega> else if g x = \<omega> then \<omega> else
       
  1366       Real (real (f x) * real (g x)))"
       
  1367      by (auto simp: fun_eq_iff pextreal_noteq_omega_Ex)
       
  1368   show ?thesis using assms unfolding *
       
  1369     by (auto intro!: measurable_If)
       
  1370 qed
       
  1371 
       
  1372 lemma (in sigma_algebra) borel_measurable_pextreal_setprod[simp, intro]:
       
  1373   fixes f :: "'c \<Rightarrow> 'a \<Rightarrow> pextreal"
       
  1374   assumes "\<And>i. i \<in> S \<Longrightarrow> f i \<in> borel_measurable M"
       
  1375   shows "(\<lambda>x. \<Prod>i\<in>S. f i x) \<in> borel_measurable M"
       
  1376 proof cases
       
  1377   assume "finite S"
       
  1378   thus ?thesis using assms by induct auto
       
  1379 qed simp
  1371 
  1380 
  1372 lemma (in sigma_algebra) borel_measurable_pextreal_min[simp, intro]:
  1381 lemma (in sigma_algebra) borel_measurable_pextreal_min[simp, intro]:
  1373   fixes f g :: "'a \<Rightarrow> pextreal"
  1382   fixes f g :: "'a \<Rightarrow> pextreal"
  1374   assumes "f \<in> borel_measurable M"
  1383   assumes "f \<in> borel_measurable M"
  1375   assumes "g \<in> borel_measurable M"
  1384   assumes "g \<in> borel_measurable M"