src/HOL/Probability/Convolution.thy
changeset 61808 fc1556774cfe
parent 59048 7dc8ac6f0895
child 62975 1d066f6ab25d
equal deleted inserted replaced
61807:965769fe2b63 61808:fc1556774cfe
     1 (*  Title:      HOL/Probability/Convolution.thy
     1 (*  Title:      HOL/Probability/Convolution.thy
     2     Author:     Sudeep Kanav, TU München
     2     Author:     Sudeep Kanav, TU München
     3     Author:     Johannes Hölzl, TU München *)
     3     Author:     Johannes Hölzl, TU München *)
     4 
     4 
     5 section {* Convolution Measure *}
     5 section \<open>Convolution Measure\<close>
     6 
     6 
     7 theory Convolution
     7 theory Convolution
     8   imports Independent_Family
     8   imports Independent_Family
     9 begin
     9 begin
    10 
    10 
   158     also have "\<dots> = g y * (\<integral>\<^sup>+x. f (x - y) * indicator A x \<partial>lborel)"
   158     also have "\<dots> = g y * (\<integral>\<^sup>+x. f (x - y) * indicator A x \<partial>lborel)"
   159       using gt_0
   159       using gt_0
   160       by (subst nn_integral_real_affine[where c=1 and t="-y"])
   160       by (subst nn_integral_real_affine[where c=1 and t="-y"])
   161          (auto simp del: gt_0 simp add: one_ereal_def[symmetric])
   161          (auto simp del: gt_0 simp add: one_ereal_def[symmetric])
   162     also have "\<dots> = (\<integral>\<^sup>+x. g y * (f (x - y) * indicator A x) \<partial>lborel)"
   162     also have "\<dots> = (\<integral>\<^sup>+x. g y * (f (x - y) * indicator A x) \<partial>lborel)"
   163       using `0 \<le> g y` by (intro nn_integral_cmult[symmetric]) auto
   163       using \<open>0 \<le> g y\<close> by (intro nn_integral_cmult[symmetric]) auto
   164     finally show "(\<integral>\<^sup>+ x. g y * (f x * indicator A (x + y)) \<partial>lborel) =
   164     finally show "(\<integral>\<^sup>+ x. g y * (f x * indicator A (x + y)) \<partial>lborel) =
   165       (\<integral>\<^sup>+ x. f (x - y) * g y * indicator A x \<partial>lborel)"
   165       (\<integral>\<^sup>+ x. f (x - y) * g y * indicator A x \<partial>lborel)"
   166       by (simp add: ac_simps)
   166       by (simp add: ac_simps)
   167   qed
   167   qed
   168   also have "\<dots> = (\<integral>\<^sup>+x. (\<integral>\<^sup>+y. f (x - y) * g y * indicator A x \<partial>lborel) \<partial>lborel)"
   168   also have "\<dots> = (\<integral>\<^sup>+x. (\<integral>\<^sup>+y. f (x - y) * g y * indicator A x \<partial>lborel) \<partial>lborel)"