src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy
changeset 61169 4de9ff3ea29a
parent 60515 484559628038
child 61284 2314c2f62eb1
equal deleted inserted replaced
61168:dcdfb6355a05 61169:4de9ff3ea29a
   123 
   123 
   124 lemma (in finite_information) positive_p_sum[simp]: "0 \<le> setsum p X"
   124 lemma (in finite_information) positive_p_sum[simp]: "0 \<le> setsum p X"
   125    by (auto intro!: setsum_nonneg)
   125    by (auto intro!: setsum_nonneg)
   126 
   126 
   127 sublocale finite_information \<subseteq> prob_space "point_measure \<Omega> p"
   127 sublocale finite_information \<subseteq> prob_space "point_measure \<Omega> p"
   128   by default (simp add: one_ereal_def emeasure_point_measure_finite)
   128   by standard (simp add: one_ereal_def emeasure_point_measure_finite)
   129 
   129 
   130 sublocale finite_information \<subseteq> information_space "point_measure \<Omega> p" b
   130 sublocale finite_information \<subseteq> information_space "point_measure \<Omega> p" b
   131   by default simp
   131   by standard simp
   132 
   132 
   133 lemma (in finite_information) \<mu>'_eq: "A \<subseteq> \<Omega> \<Longrightarrow> prob A = setsum p A"
   133 lemma (in finite_information) \<mu>'_eq: "A \<subseteq> \<Omega> \<Longrightarrow> prob A = setsum p A"
   134   by (auto simp: measure_point_measure)
   134   by (auto simp: measure_point_measure)
   135 
   135 
   136 locale koepf_duermuth = K: finite_information keys K b + M: finite_information messages M b
   136 locale koepf_duermuth = K: finite_information keys K b + M: finite_information messages M b
   148   "P = (\<lambda>(k, ms). K k * (\<Prod>i<n. M (ms ! i)))"
   148   "P = (\<lambda>(k, ms). K k * (\<Prod>i<n. M (ms ! i)))"
   149 
   149 
   150 end
   150 end
   151 
   151 
   152 sublocale koepf_duermuth \<subseteq> finite_information msgs P b
   152 sublocale koepf_duermuth \<subseteq> finite_information msgs P b
   153 proof default
   153 proof
   154   show "finite msgs" unfolding msgs_def
   154   show "finite msgs" unfolding msgs_def
   155     using finite_lists_length_eq[OF M.finite_space, of n]
   155     using finite_lists_length_eq[OF M.finite_space, of n]
   156     by auto
   156     by auto
   157 
   157 
   158   have [simp]: "\<And>A. inj_on (\<lambda>(xs, n). n # xs) A" by (force intro!: inj_onI)
   158   have [simp]: "\<And>A. inj_on (\<lambda>(xs, n). n # xs) A" by (force intro!: inj_onI)