proposition: Lemma disj_perm_of_setpart P : partition P [set: T] -> disjoint_psupports [set perm_of_porbit s| s in [set X0 in P | 1 < #|X0|]].
proof: Proof. Proof using. move=> Hpart; split => [|C D]. - rewrite -imset_comp psupports_perm_of_porbit. apply /trivIsetP => A B; rewrite !inE. move=> /andP[AinP _] /andP[BinP _]. by move: Hpart => /and3P[_ /trivIsetP /(_ A B AinP BinP) ]. - move=> /imsetP[A]; rewrite inE => /andP[_ cardA] ->. move=> /imsetP[B]; rewrite inE => /andP[_ cardB] ->. by rewrite !psupport_perm_of_porbit // => ->. Qed.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq choice fintype) mathcomp(tuple finfun finset path bigop) mathcomp(fingroup perm action) mathcomp(ssralg matrix mxalgebra algC classfun) partition tools sorted permcomp fibered_set cycles