equal
deleted
inserted
replaced
22 and X_distrib: "\<And>n. distr M borel (X n) = \<mu>" |
22 and X_distrib: "\<And>n. distr M borel (X n) = \<mu>" |
23 defines "S n \<equiv> \<lambda>x. \<Sum>i<n. X i x" |
23 defines "S n \<equiv> \<lambda>x. \<Sum>i<n. X i x" |
24 shows "weak_conv_m (\<lambda>n. distr M borel (\<lambda>x. S n x / sqrt (n * \<sigma>\<^sup>2))) std_normal_distribution" |
24 shows "weak_conv_m (\<lambda>n. distr M borel (\<lambda>x. S n x / sqrt (n * \<sigma>\<^sup>2))) std_normal_distribution" |
25 proof - |
25 proof - |
26 let ?S' = "\<lambda>n x. S n x / sqrt (real n * \<sigma>\<^sup>2)" |
26 let ?S' = "\<lambda>n x. S n x / sqrt (real n * \<sigma>\<^sup>2)" |
27 def \<phi> \<equiv> "\<lambda>n. char (distr M borel (?S' n))" |
27 define \<phi> where "\<phi> n = char (distr M borel (?S' n))" for n |
28 def \<psi> \<equiv> "\<lambda>n t. char \<mu> (t / sqrt (\<sigma>\<^sup>2 * n))" |
28 define \<psi> where "\<psi> n t = char \<mu> (t / sqrt (\<sigma>\<^sup>2 * n))" for n t |
29 |
29 |
30 have X_rv [simp, measurable]: "\<And>n. random_variable borel (X n)" |
30 have X_rv [simp, measurable]: "\<And>n. random_variable borel (X n)" |
31 using X_indep unfolding indep_vars_def2 by simp |
31 using X_indep unfolding indep_vars_def2 by simp |
32 interpret \<mu>: real_distribution \<mu> |
32 interpret \<mu>: real_distribution \<mu> |
33 by (subst X_distrib [symmetric, of 0], rule real_distribution_distr, simp) |
33 by (subst X_distrib [symmetric, of 0], rule real_distribution_distr, simp) |
46 fix n :: nat |
46 fix n :: nat |
47 assume "n \<ge> nat (ceiling (t^2 / 4))" |
47 assume "n \<ge> nat (ceiling (t^2 / 4))" |
48 hence n: "n \<ge> t^2 / 4" by (subst nat_ceiling_le_eq [symmetric]) |
48 hence n: "n \<ge> t^2 / 4" by (subst nat_ceiling_le_eq [symmetric]) |
49 let ?t = "t / sqrt (\<sigma>\<^sup>2 * n)" |
49 let ?t = "t / sqrt (\<sigma>\<^sup>2 * n)" |
50 |
50 |
51 def \<psi>' \<equiv> "\<lambda>n i. char (distr M borel (\<lambda>x. X i x / sqrt (\<sigma>\<^sup>2 * n)))" |
51 define \<psi>' where "\<psi>' n i = char (distr M borel (\<lambda>x. X i x / sqrt (\<sigma>\<^sup>2 * n)))" for n i |
52 have *: "\<And>n i t. \<psi>' n i t = \<psi> n t" |
52 have *: "\<And>n i t. \<psi>' n i t = \<psi> n t" |
53 unfolding \<psi>_def \<psi>'_def char_def |
53 unfolding \<psi>_def \<psi>'_def char_def |
54 by (subst X_distrib [symmetric]) (auto simp: integral_distr) |
54 by (subst X_distrib [symmetric]) (auto simp: integral_distr) |
55 |
55 |
56 have "\<phi> n t = char (distr M borel (\<lambda>x. \<Sum>i<n. X i x / sqrt (\<sigma>\<^sup>2 * real n))) t" |
56 have "\<phi> n t = char (distr M borel (\<lambda>x. \<Sum>i<n. X i x / sqrt (\<sigma>\<^sup>2 * real n))) t" |