(* Direct product *)

(* Specifications: *)
Lemma dprod1g : left_id 1 dprod.
Lemma dprodE G H : H \subset 'C(G) -> G :&: H = 1 -> G \x H = G * H.
Lemma dprod_normal2 A B G : A \x B = G -> A <| G /\ B <| G.
Lemma dprodC : commutative dprod.
Canonical dprod_law := Monoid.Law dprodA dprod1g dprodg1.