src/HOL/Probability/Probability_Mass_Function.thy
changeset 63092 a949b2a5f51d
parent 63040 eb4ddd18d635
child 63099 af0e964aad7b
equal deleted inserted replaced
63091:54f16a0a3069 63092:a949b2a5f51d
   651   fix x show "measure (density (count_space UNIV) (ennreal \<circ> f)) {x} = f x"
   651   fix x show "measure (density (count_space UNIV) (ennreal \<circ> f)) {x} = f x"
   652     by transfer (simp add: measure_def emeasure_density nonneg max_def)
   652     by transfer (simp add: measure_def emeasure_density nonneg max_def)
   653 qed
   653 qed
   654 
   654 
   655 lemma set_embed_pmf: "set_pmf embed_pmf = {x. f x \<noteq> 0}"
   655 lemma set_embed_pmf: "set_pmf embed_pmf = {x. f x \<noteq> 0}"
   656 by(auto simp add: set_pmf_eq assms pmf_embed_pmf)
   656 by(auto simp add: set_pmf_eq pmf_embed_pmf)
   657 
   657 
   658 end
   658 end
   659 
   659 
   660 lemma embed_pmf_transfer:
   660 lemma embed_pmf_transfer:
   661   "rel_fun (eq_onp (\<lambda>f. (\<forall>x. 0 \<le> f x) \<and> (\<integral>\<^sup>+x. ennreal (f x) \<partial>count_space UNIV) = 1)) pmf_as_measure.cr_pmf (\<lambda>f. density (count_space UNIV) (ennreal \<circ> f)) embed_pmf"
   661   "rel_fun (eq_onp (\<lambda>f. (\<forall>x. 0 \<le> f x) \<and> (\<integral>\<^sup>+x. ennreal (f x) \<partial>count_space UNIV) = 1)) pmf_as_measure.cr_pmf (\<lambda>f. density (count_space UNIV) (ennreal \<circ> f)) embed_pmf"
  1561   by (subst nn_integral_indicator[symmetric], simp)
  1561   by (subst nn_integral_indicator[symmetric], simp)
  1562      (simp add: S_finite S_not_empty card_gt_0_iff indicator_def setsum.If_cases divide_ennreal
  1562      (simp add: S_finite S_not_empty card_gt_0_iff indicator_def setsum.If_cases divide_ennreal
  1563                 ennreal_of_nat_eq_real_of_nat nn_integral_pmf_of_set)
  1563                 ennreal_of_nat_eq_real_of_nat nn_integral_pmf_of_set)
  1564 
  1564 
  1565 lemma measure_pmf_of_set: "measure (measure_pmf pmf_of_set) A = card (S \<inter> A) / card S"
  1565 lemma measure_pmf_of_set: "measure (measure_pmf pmf_of_set) A = card (S \<inter> A) / card S"
  1566   using emeasure_pmf_of_set[OF assms, of A]
  1566   using emeasure_pmf_of_set[of A]
  1567   by (simp add: measure_nonneg measure_pmf.emeasure_eq_measure)
  1567   by (simp add: measure_nonneg measure_pmf.emeasure_eq_measure)
  1568 
  1568 
  1569 end
  1569 end
  1570 
  1570 
  1571 lemma pmf_of_set_singleton: "pmf_of_set {x} = return_pmf x"
  1571 lemma pmf_of_set_singleton: "pmf_of_set {x} = return_pmf x"