proposition: Lemma msupp_mesymP (k : nat) m : (m \in msupp 's_k) = [exists h : {set 'I_n}, (#|h| == k) && (m == mesym1 h)].
proof: Proof. rewrite (perm_mem (msupp_mesym _)); apply/idP/existsP=> /=. + case/mapP=> /= h; rewrite mem_filter=> /andP[/eqP<- _ ->]. by exists h; rewrite !eqxx. + case=> h /andP[/eqP<- /eqP->]; apply/mapP; exists h=> //. by rewrite mem_filter eqxx /= mem_enum. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq path) mathcomp(choice fintype tuple finfun bigop finset binomial) mathcomp(order fingroup perm ssralg zmodp poly ssrint) mathcomp(matrix vector) mathcomp(bigenough) ssrcomplements freeg