proposition: Lemma notP1type_Msigma_nil M : (M \in 'M_'F) || (M \in 'M_'P2) -> nilpotent M`_\sigma.
proof: Proof. move=> notP1maxM; suffices [maxM]: M \in 'M /\ ~~ \sigma_kappa(M).-group M. rewrite negb_and cardG_gt0 => /allPn[p piMp /norP[s'p k'p]]. by have [S /sigma'_kappa'_facts[] //] := Sylow_exists p M; apply/and3P. have [/setIdP[maxM k'M] | /setDP[PmaxM]] := orP notP1maxM; last first. by rewrite inE PmaxM; case/setDP: PmaxM. split=> //; apply: contra (not_sigma_mmax maxM). by apply: sub_in_pnat => p piMp /orP[] // /idPn[]; apply: (pnatPpi k'M). Qed.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrbool ssrfun eqtype ssrnat seq div path fintype bigop order) mathcomp(finset prime fingroup morphism perm automorphism quotient) mathcomp(action gproduct gfunctor pgroup cyclic center commutator) mathcomp(gseries nilpotent sylow abelian maximal hall frobenius) mathcomp(ssralg ssrnum ssrint rat) odd_order(BGsection1 BGsection3 BGsection4 BGsection5 BGsection6) odd_order(BGsection7 BGsection9 BGsection10 BGsection12 BGsection13)