src/HOL/Probability/Conditional_Expectation.thy
changeset 70817 dd675800469d
parent 70125 b601c2c87076
child 73253 f6bb31879698
equal deleted inserted replaced
70816:5bc338cee4a0 70817:dd675800469d
   853 
   853 
   854 lemma real_cond_exp_cdiv [intro, simp]:
   854 lemma real_cond_exp_cdiv [intro, simp]:
   855   fixes c::real
   855   fixes c::real
   856   assumes "integrable M f"
   856   assumes "integrable M f"
   857   shows "AE x in M. real_cond_exp M F (\<lambda>x. f x / c) x = real_cond_exp M F f x / c"
   857   shows "AE x in M. real_cond_exp M F (\<lambda>x. f x / c) x = real_cond_exp M F f x / c"
   858 using real_cond_exp_cmult[of _ "1/c", OF assms] by (auto simp add: divide_simps)
   858 using real_cond_exp_cmult[of _ "1/c", OF assms] by (auto simp add: field_split_simps)
   859 
   859 
   860 lemma real_cond_exp_diff [intro, simp]:
   860 lemma real_cond_exp_diff [intro, simp]:
   861   assumes [measurable]: "integrable M f" "integrable M g"
   861   assumes [measurable]: "integrable M f" "integrable M g"
   862   shows "AE x in M. real_cond_exp M F (\<lambda>x. f x - g x) x = real_cond_exp M F f x - real_cond_exp M F g x"
   862   shows "AE x in M. real_cond_exp M F (\<lambda>x. f x - g x) x = real_cond_exp M F f x - real_cond_exp M F g x"
   863 proof -
   863 proof -
  1138   proof (cases "x < y")
  1138   proof (cases "x < y")
  1139     case True
  1139     case True
  1140     have "q x + phi x * (y-x) \<le> q y"
  1140     have "q x + phi x * (y-x) \<le> q y"
  1141       unfolding phi_def apply (rule convex_le_Inf_differential) using \<open>convex_on I q\<close> that \<open>interior I = I\<close> by auto
  1141       unfolding phi_def apply (rule convex_le_Inf_differential) using \<open>convex_on I q\<close> that \<open>interior I = I\<close> by auto
  1142     then have "phi x \<le> (q x - q y) / (x - y)"
  1142     then have "phi x \<le> (q x - q y) / (x - y)"
  1143       using that \<open>x < y\<close> by (auto simp add: divide_simps algebra_simps)
  1143       using that \<open>x < y\<close> by (auto simp add: field_split_simps algebra_simps)
  1144     moreover have "(q x - q y)/(x - y) \<le> phi y"
  1144     moreover have "(q x - q y)/(x - y) \<le> phi y"
  1145     unfolding phi_def proof (rule cInf_greatest, auto)
  1145     unfolding phi_def proof (rule cInf_greatest, auto)
  1146       fix t assume "t \<in> I" "y < t"
  1146       fix t assume "t \<in> I" "y < t"
  1147       have "(q x - q y) / (x - y) \<le> (q x - q t) / (x - t)"
  1147       have "(q x - q y) / (x - y) \<le> (q x - q t) / (x - t)"
  1148         apply (rule convex_on_diff[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto
  1148         apply (rule convex_on_diff[OF q(2)]) using \<open>y < t\<close> \<open>x < y\<close> \<open>t \<in> I\<close> \<open>x \<in> I\<close> by auto
  1170                      "g \<in> borel_measurable F" "g \<in> borel_measurable M"
  1170                      "g \<in> borel_measurable F" "g \<in> borel_measurable M"
  1171                      "G \<in> borel_measurable F" "G \<in> borel_measurable M"
  1171                      "G \<in> borel_measurable F" "G \<in> borel_measurable M"
  1172     using X measurable_from_subalg[OF subalg] unfolding G_def g_def by auto
  1172     using X measurable_from_subalg[OF subalg] unfolding G_def g_def by auto
  1173   have int1: "integrable (restr_to_subalg M F) (\<lambda>x. g x * q (real_cond_exp M F X x))"
  1173   have int1: "integrable (restr_to_subalg M F) (\<lambda>x. g x * q (real_cond_exp M F X x))"
  1174     apply (rule Bochner_Integration.integrable_bound[of _ f], auto simp add: subalg \<open>integrable (restr_to_subalg M F) f\<close>)
  1174     apply (rule Bochner_Integration.integrable_bound[of _ f], auto simp add: subalg \<open>integrable (restr_to_subalg M F) f\<close>)
  1175     unfolding g_def by (auto simp add: divide_simps abs_mult algebra_simps)
  1175     unfolding g_def by (auto simp add: field_split_simps abs_mult algebra_simps)
  1176   have int2: "integrable M (\<lambda>x. G x * (X x - real_cond_exp M F X x))"
  1176   have int2: "integrable M (\<lambda>x. G x * (X x - real_cond_exp M F X x))"
  1177     apply (rule Bochner_Integration.integrable_bound[of _ "\<lambda>x. \<bar>X x\<bar> + \<bar>real_cond_exp M F X x\<bar>"])
  1177     apply (rule Bochner_Integration.integrable_bound[of _ "\<lambda>x. \<bar>X x\<bar> + \<bar>real_cond_exp M F X x\<bar>"])
  1178     apply (auto intro!: Bochner_Integration.integrable_add integrable_abs real_cond_exp_int \<open>integrable M X\<close> AE_I2)
  1178     apply (auto intro!: Bochner_Integration.integrable_add integrable_abs real_cond_exp_int \<open>integrable M X\<close> AE_I2)
  1179     using G unfolding abs_mult by (meson abs_ge_zero abs_triangle_ineq4 dual_order.trans mult_left_le_one_le)
  1179     using G unfolding abs_mult by (meson abs_ge_zero abs_triangle_ineq4 dual_order.trans mult_left_le_one_le)
  1180   have int3: "integrable M (\<lambda>x. g x * q (X x))"
  1180   have int3: "integrable M (\<lambda>x. g x * q (X x))"
  1206   moreover have "AE x in M. real_cond_exp M F (\<lambda>x. real_cond_exp M F X x) x = real_cond_exp M F X x "
  1206   moreover have "AE x in M. real_cond_exp M F (\<lambda>x. real_cond_exp M F X x) x = real_cond_exp M F X x "
  1207     by (rule real_cond_exp_F_meas, auto intro!: real_cond_exp_int \<open>integrable M X\<close>)
  1207     by (rule real_cond_exp_F_meas, auto intro!: real_cond_exp_int \<open>integrable M X\<close>)
  1208   ultimately have "AE x in M. g x * real_cond_exp M F (\<lambda>x. q (X x)) x \<ge> g x * q (real_cond_exp M F X x)"
  1208   ultimately have "AE x in M. g x * real_cond_exp M F (\<lambda>x. q (X x)) x \<ge> g x * q (real_cond_exp M F X x)"
  1209     by auto
  1209     by auto
  1210   then show "AE x in M. real_cond_exp M F (\<lambda>x. q (X x)) x \<ge> q (real_cond_exp M F X x)"
  1210   then show "AE x in M. real_cond_exp M F (\<lambda>x. q (X x)) x \<ge> q (real_cond_exp M F X x)"
  1211     using g(1) by (auto simp add: divide_simps)
  1211     using g(1) by (auto simp add: field_split_simps)
  1212 qed
  1212 qed
  1213 
  1213 
  1214 text \<open>Jensen's inequality does not imply that $q(E(X|F))$ is integrable, as it only proves an upper
  1214 text \<open>Jensen's inequality does not imply that $q(E(X|F))$ is integrable, as it only proves an upper
  1215 bound for it. Indeed, this is not true in general, as the following counterexample shows:
  1215 bound for it. Indeed, this is not true in general, as the following counterexample shows:
  1216 
  1216