P=> Da nGa; rewrite !inE Da; apply/subsetP=> x Gx.
have Rx := subsetP sGR _ Gx; have Rxa: to x a \in R by rewrite gact_stable.
rewrite inE -sub1set -(injmSK injm_sdpair1) ?morphim_set1 ?sDefinition divgr A B x := x * (remgr A B x)^-1.Local Notation pprod := (partial_product gT).Local Notation sdprod := (semidirect_product gT) (only parsing).Local Notation cprod := (central_product gT) (only parsing).Local Notation dprod := (direct_product gT) (only parsing).Section ExtSdprodm.Notation "[ 'splits' B , 'over' A ]" := (splits_over B A)
  (at level 0, format "[ 'splits'  B ,  'over'  A ]") : group_scope.Definition xsdprodm := sdprodm (

(* Specifications: *)
Lemma pprod1g : left_id 1 pprod.
Lemma pprodg1 : right_id 1 pprod.
Lemma group_not0 G : set0 <> G.
Lemma mulg0 : right_zero (@set0 gT) mulg.
Lemma mul0g : left_zero (@set0 gT) mulg.
Lemma pprodW A B G : pprod A B = G -> A * B = G.
Lemma pprodWC A B G : pprod A B = G -> B * A = G.
Lemma divgr_eq A B x : x = divgr A B x * remgr A B x.
Lemma sdprod1g : left_id 1 sdprod.
Lemma sdprodg1 : right_id 1 sdprod.
Lemma cprod1g : left_id 1 cprod.
Lemma cprodg1 : right_id 1 cprod.
Proof. by rewrite eqEcard cards0 cards1 andb
Proof. by rewrite /cprod centsC s
Qed.