Canonical cprodm_morphism := Eval hnf in [morphism of cprodm].

(* Specifications: *)
Lemma cprodmE a b : a \in H -> b \in K -> cprodm (a * b) = fH a * fK b.
Lemma im_cprodm : cprodm @* G = fH @* H * fK @* K.
Lemma morphim_cprodml A : A \subset H -> cprodm @* A = fH @* A.
Lemma morphim_cprodmr B : B \subset K -> cprodm @* B = fK @* B.
Lemma ker_cprodm : 'ker cprodm = [set a * b^-1 | a in H, b in K & fH a == fK b].
Lemma injm_cprodm :
'injm cprodm = [&& 'injm fH, 'injm fK & fH @* H :&: fK @* K == fH @* K].