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 |