End ExtremalClass.

(* This is Aschbacher (23.9) *)
Theorem symplectic_type_group_structure gT p (G : {group gT}) :
p.-group G -> (forall X : {group gT}, X \char G -> abelian X -> cyclic X) ->
exists2 E : {group gT}, E :=: 1 \/ extraspecial E
& exists R : {group gT},
[/\ cyclic R \/ [/\ p = 2, extremal2 R & #|R| >= 16],
E \* R = G
& E :&: R = 'Z(E)].