proposition: Proposition rank_quasi_cent_cycle m : \rank 'E_m = (\sum_(i < h) 'n_i * 'n_(i + m))%N.
proof: Proof. have [<- dx_diag] := diag_sum_proj_eigenspace_cycle m. rewrite (mxdirectP dx_diag) /= (reindex (fun i : 'I_h => (i, inh (i + m)))) /=. apply: eq_big => [i | i _]; first by rewrite modn_mod eqxx. by rewrite rank_proj_eigenspace_cycle /n_ Vi_mod. exists (@fst _ _) => // [] [i t] /=. by rewrite !inE /= (modn_small (valP t)) => def_t; apply/eqP/andP. Qed.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrbool ssrfun eqtype ssrnat seq path div fintype) mathcomp(bigop prime binomial finset fingroup morphism perm automorphism) mathcomp(quotient action gfunctor commutator gproduct) mathcomp(ssralg finalg zmodp cyclic center pgroup gseries nilpotent) mathcomp(sylow abelian maximal hall) mathcomp(matrix mxalgebra mxrepresentation mxabelem) odd_order(BGsection1)