proposition: Lemma cfker_morph phi : cfker (cfMorph phi) = G :&: f @*^-1 (cfker phi).
proof: Proof. apply/setP=> x /[!inE]; apply: andb_id2l => Gx. have Dx := subsetP sGD x Gx; rewrite Dx mem_morphim //=. apply/forallP/forallP=> Kx y. have [{y} /morphimP[y Dy Gy ->] | fG'y] := boolP (y \in f @* G). by rewrite -morphM // -!(cfMorphE phi) ?groupM. by rewrite !cfun0 ?groupMl // mem_morphim. have [Gy | G'y] := boolP (y \in G); last by rewrite !cfun0 ?groupMl. by rewrite !cfMorphE ?groupM ?morphM // (subsetP sGD). Qed.
imports: HB(structures) mathcomp(ssreflect ssrbool ssrfun eqtype ssrnat seq path) mathcomp(div choice fintype tuple finfun bigop prime order) mathcomp(ssralg poly finset fingroup morphism perm) mathcomp(automorphism quotient finalg action gproduct) mathcomp(zmodp commutator cyclic center pgroup sylow) mathcomp(matrix vector falgebra ssrnum algC algnum) mathcomp(archimedean)