\subset 'Z(K) -> gz @* 'Z(H) \isog Y -> gz @* 'Z(H) = Y.
Proof.
move=> sYZ isoY; apply/eqP.Implicit Types (x y : gT) (A B : {set gT}) (G H K D : {group gT}).Implicit Types (A B C : {set gT}) (G H K : {group gT}).End CprodBy.Definition ker_cprod_by of isomt=> // [[x1 y1] [x2 y2]].
rewrite inE /= => /andP[Zx1 /eqP->]; have [_ cGx1] := setIPite -!injm_center ?subsetT ?injm_pair1g ?injm_pairg1 //=.
rewrite morphim_pairg1 morphim_pair1g setX_dprod.
apply/subsetP=> [[x y]];Qed.f.
rewrite /in_cprod /cprod_by; case: cprod_by_key =>Proof. by rewrite -sub_morphim_pre ?subsetT // morphim_pairg1 setXS ?sub1G. Qed.Lemma cpair1g_dom : K \subset 'dom (in_cprod \o @pf.
rewrite /cpairg1; case: rf.
rewrite /cpair1g; case: r

(* Specifications: *)
by case/dprodP: (setX_dprod H