proposition: Lemma porbits_conjg s a : porbits (s ^ a)%g = [set [set a y | y in (X : {set T})] | X in porbits s].
proof: Proof. Proof using. apply /setP => /= X0. apply /imsetP/imsetP => [[x _]|[x /imsetP[x0 _ ->]] ->] /=. - rewrite (_: x = a ((a ^-1)%g (x))); last by rewrite permKV. rewrite porbit_conjg => ->. exists (porbit s ((a^-1)%g x)) => //. by apply /imsetP; exists ((a^-1)%g x). - exists (a x0) => //. by rewrite porbit_conjg. 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