equal
deleted
inserted
replaced
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) |