proposition: Lemma perm_Stuples_Stuples_perm : V.-shell (perm_tuple s ta) = (perm_tuple s) @: (V.-shell ta).
proof: Proof. rewrite /shell. apply/eqP. rewrite eqEsubset. apply/andP; split; apply/subsetP => y. - rewrite in_set => H. apply/imsetP. exists (perm_tuple (s^-1) y); last first. by rewrite perm_tuple_comp mulgV perm_tuple_id. rewrite in_set. apply/forallP => a; move/forallP/(_ a) in H. apply/forallP => b; move/forallP/(_ b) in H. by rewrite -(num_co_occ_perm _ _ _ _ s) perm_tuple_comp mulgV perm_tuple_id. - case/imsetP => z. rewrite !in_set => H Hy. apply/forallP => a; move/forallP/(_ a) in H. apply/forallP => b; move/forallP/(_ b) in H. subst y. by rewrite num_co_occ_perm. Qed.
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