src/HOL/Probability/Levy.thy
changeset 63540 f8652d0534fa
parent 63393 c22928719e19
child 63589 58aab4745e85
equal deleted inserted replaced
63539:70d4d9e5707b 63540:f8652d0534fa
   389     have 3: "\<And>u v. set_integrable lborel {u..v} (\<lambda>x. cmod (1 - char M' x))"
   389     have 3: "\<And>u v. set_integrable lborel {u..v} (\<lambda>x. cmod (1 - char M' x))"
   390       by (intro borel_integrable_compact[OF compact_Icc] continuous_at_imp_continuous_on
   390       by (intro borel_integrable_compact[OF compact_Icc] continuous_at_imp_continuous_on
   391                 continuous_intros ballI M'.isCont_char continuous_intros)
   391                 continuous_intros ballI M'.isCont_char continuous_intros)
   392     have "cmod (CLBINT t:{-d/2..d/2}. 1 - char M' t) \<le> LBINT t:{-d/2..d/2}. cmod (1 - char M' t)"
   392     have "cmod (CLBINT t:{-d/2..d/2}. 1 - char M' t) \<le> LBINT t:{-d/2..d/2}. cmod (1 - char M' t)"
   393       using integral_norm_bound[OF 2] by simp
   393       using integral_norm_bound[OF 2] by simp
   394     also have "\<dots> \<le> LBINT t:{-d/2..d/2}. \<epsilon> / 4"
   394     also have 4: "\<dots> \<le> LBINT t:{-d/2..d/2}. \<epsilon> / 4"
   395       apply (rule integral_mono [OF 3])
   395       apply (rule integral_mono [OF 3])
   396       apply (simp add: emeasure_lborel_Icc_eq)
   396        apply (simp add: emeasure_lborel_Icc_eq)
   397       apply (case_tac "x \<in> {-d/2..d/2}", auto)
   397       apply (case_tac "x \<in> {-d/2..d/2}")
       
   398        apply auto
   398       apply (subst norm_minus_commute)
   399       apply (subst norm_minus_commute)
   399       apply (rule less_imp_le)
   400       apply (rule less_imp_le)
   400       apply (rule d1 [simplified])
   401       apply (rule d1 [simplified])
   401       using d0 by auto
   402       using d0 apply auto
   402     also with d0 have "\<dots> = d * \<epsilon> / 4"
   403       done
       
   404     also from d0 4 have "\<dots> = d * \<epsilon> / 4"
   403       by simp
   405       by simp
   404     finally have bound: "cmod (CLBINT t:{-d/2..d/2}. 1 - char M' t) \<le> d * \<epsilon> / 4" .
   406     finally have bound: "cmod (CLBINT t:{-d/2..d/2}. 1 - char M' t) \<le> d * \<epsilon> / 4" .
   405     { fix n x
   407     have "cmod (1 - char (M n) x) \<le> 2" for n x
   406       have "cmod (1 - char (M n) x) \<le> 2"
   408       by (rule order_trans [OF norm_triangle_ineq4], auto simp add: Mn.cmod_char_le_1)
   407         by (rule order_trans [OF norm_triangle_ineq4], auto simp add: Mn.cmod_char_le_1)
   409     then have "(\<lambda>n. CLBINT t:{-d/2..d/2}. 1 - char (M n) t) \<longlonglongrightarrow> (CLBINT t:{-d/2..d/2}. 1 - char M' t)"
   408     } note bd1 = this
       
   409     have "(\<lambda>n. CLBINT t:{-d/2..d/2}. 1 - char (M n) t) \<longlonglongrightarrow> (CLBINT t:{-d/2..d/2}. 1 - char M' t)"
       
   410       using bd1
       
   411       apply (intro integral_dominated_convergence[where w="\<lambda>x. indicator {-d/2..d/2} x *\<^sub>R 2"])
   410       apply (intro integral_dominated_convergence[where w="\<lambda>x. indicator {-d/2..d/2} x *\<^sub>R 2"])
   412       apply (auto intro!: char_conv tendsto_intros
   411       apply (auto intro!: char_conv tendsto_intros
   413                   simp: emeasure_lborel_Icc_eq
   412                   simp: emeasure_lborel_Icc_eq
   414                   split: split_indicator)
   413                   split: split_indicator)
   415       done
   414       done