proposition: Lemma in_make_shares (x: Party) (U: seq Party) (m: Word) (q: {poly Word}): (party_to_word x \in unzip1 (make_shares m q U)) = (x \in U).
proof: Proof. elim: U => [// | b U IHu] /=. rewrite in_cons. destruct (x == b) eqn:Heq. - move /eqP in Heq. by rewrite Heq in_cons !eq_refl. - by rewrite in_cons -val_eqE eqSS val_eqE Heq. Qed.
imports: Relational(OrderEnrichedCategory GenericRulesSimple) mathcomp(all_ssreflect all_algebra reals distr realsum ssrnat ssreflect ssrfun ssrbool ssrnum eqtype choice seq) Mon(SPropBase) Crypt(Axioms ChoiceAsOrd SubDistr Couplings UniformDistrLemmas FreeProbProg Theta_dens RulesStateProb pkg_core_definition choice_type pkg_composition pkg_rhl Package Prelude) extructures(ord fset fmap) Equations(Equations)