proposition: Lemma d_enum1 : \sum_(b in 'I_n) d_enum b = 1.
proof: Proof. rewrite -(@FDist.f1 real_realType T d') (eq_bigr (d' \o enum)); last by move=> i _; rewrite ffunE. rewrite (@reindex _ _ _ _ _ enum_rank) //; last first. by exists enum_val => i; [rewrite enum_rankK | rewrite enum_valK]. apply eq_bigr => i _; congr (d' _); by rewrite -[in RHS](enum_rankK i). Qed.
imports: HB(structures) mathcomp(all_ssreflect ssralg fingroup perm matrix) mathcomp(mathcomp_extra boolp classical_sets Rstruct) mathcomp(ssrnum ereal) mathcomp(lra Rstruct reals) Reals ssrR Reals_ext Ranalysis_ext ssr_ext ssralg_ext logb realType_ext fdist