src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy
changeset 44890 22f665a2e91c
parent 43920 cedb5cb948fd
child 45711 a2c32e196d49
equal deleted inserted replaced
44889:340df9f3491f 44890:22f665a2e91c
   474     unfolding conditional_entropy_eq_ce_with_hypothesis[OF
   474     unfolding conditional_entropy_eq_ce_with_hypothesis[OF
   475       simple_function_finite simple_function_finite] using * by simp
   475       simple_function_finite simple_function_finite] using * by simp
   476   also have "\<dots> = -(\<Sum>obs\<in>t`OB`msgs. \<P>(t\<circ>OB) {obs} * ?Ht obs)"
   476   also have "\<dots> = -(\<Sum>obs\<in>t`OB`msgs. \<P>(t\<circ>OB) {obs} * ?Ht obs)"
   477     apply (subst SIGMA_image_vimage[symmetric, of "OB`msgs" t])
   477     apply (subst SIGMA_image_vimage[symmetric, of "OB`msgs" t])
   478     apply (subst setsum_reindex)
   478     apply (subst setsum_reindex)
   479     apply (fastsimp intro!: inj_onI)
   479     apply (fastforce intro!: inj_onI)
   480     apply simp
   480     apply simp
   481     apply (subst setsum_Sigma[symmetric, unfolded split_def])
   481     apply (subst setsum_Sigma[symmetric, unfolded split_def])
   482     using finite_space apply fastsimp
   482     using finite_space apply fastforce
   483     using finite_space apply fastsimp
   483     using finite_space apply fastforce
   484     apply (safe intro!: setsum_cong)
   484     apply (safe intro!: setsum_cong)
   485     using P_t_sum_P_O
   485     using P_t_sum_P_O
   486     by (simp add: setsum_divide_distrib[symmetric] field_simps **
   486     by (simp add: setsum_divide_distrib[symmetric] field_simps **
   487                   setsum_right_distrib[symmetric] setsum_left_distrib[symmetric])
   487                   setsum_right_distrib[symmetric] setsum_left_distrib[symmetric])
   488   also have "\<dots> = \<H>(fst | t\<circ>OB)"
   488   also have "\<dots> = \<H>(fst | t\<circ>OB)"