proposition: Lemma porbit_conjg s a x : porbit ((s ^ a)%g) (a x) = [set a y | y in porbit s x].
proof: Proof. Proof using. rewrite !porbitE; apply/setP => y. apply /idP/imsetP => [|[x0] Hx0 ->]. - rewrite -conjg_cycle => Hy. exists ((a ^-1)%g y); last by rewrite permKV. move: Hy; rewrite {1}(_: y = a ((a ^-1)%g (y))); last by rewrite permKV. by rewrite -{1}apermE orbit_conjsg. - by rewrite -conjg_cycle -apermE orbit_conjsg. 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