proposition: Lemma conjg_cycle s a : (<[s]> :^ a = <[s ^ a]>)%g.
proof: Proof. Proof using. apply /setP => x. apply /imsetP/cycleP => [[x0 /cycleP[i] ->] -> | [i] ->]. - by exists i; apply: conjXg. - by exists (s ^+i)%g; [apply /cycleP; exists i | rewrite conjXg]. 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