Definition submonoid_monoid : monoid.Record submonoid : Type := 
  {submonoid_subsgroup : subsgroup G;
   submonoid_prop : in_part (monoid_unit G) submonoid_subsgroup}.Record submonoid : Type := 
  {submonoid_subsgroup : subsgroup G;
   submonoid_prop : in_part (monoid_unit G) submonoid_subsgroup}.Record submonoid : Type := 
  {submonoid_subsgroup : subsgroup G;
   submonoid_prop : in_part (monoid_unit G) submonoid_subsgroup}.Definition monoid_of_submonoid (H : submonoid) :=
  submonoid_monoid (submonoid_prop H).

(* Specifications: *)
Lemma submonoid_in_prop : in_part (monoid_unit G) H.