proposition: Proposition coprime_abelian_cent_dprod gT (A G : {group gT}) : A \subset 'N(G) -> coprime #|G| #|A| -> abelian G -> [~: G, A] \x 'C_G(A) = G.
proof: Proof. move=> nGA coGA abelG; rewrite dprodE ?coprime_cent_prod ?abelian_sol //. by rewrite subIset 1?(subset_trans abelG) // centS // commg_subl. by apply/trivgP; rewrite /= setICA coprime_abel_cent_TI ?subsetIr. 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 gproduct gfunctor commutator) mathcomp(ssralg finalg zmodp cyclic center pgroup finmodule gseries) mathcomp(nilpotent sylow abelian maximal hall extremal) mathcomp(matrix mxalgebra mxrepresentation mxabelem)