proposition: Lemma card_fsets : #|{:{fset T}}| = 2^#|T|.
proof: Proof. rewrite -(card_image (can_inj pickleK)) /=. rewrite -cardsT -card_powerset powersetT; apply: eq_card. move=> x; rewrite !inE; apply/mapP; exists (unpickle x). by rewrite mem_enum. by rewrite unpickleK. Qed.
imports: HB(structures) mathcomp(ssreflect ssrbool ssrnat eqtype ssrfun seq) mathcomp(choice path finset finfun fintype bigop)