fact: Record t : predArgType := mk { c :> `Ch*(A, B) ; f : {ffun A -> {ffun B -> 'I_n.+1}} ; sum_f : \sum_(a in A) \sum_(b in B) f a b == n ; c_f : forall a b, c a b = let row := \sum_(b in B) f a b in if row == O then / #|B|%:R else ((f a b)%:R / row%:R)%R }.
imports: mathcomp(all_ssreflect ssralg ssrnum fingroup perm) Reals mathcomp(Rstruct) ssrR Reals_ext realType_ext ssr_ext ssralg_ext logb fdist entropy num_occ channel types