Section inverses_comp_def.
Variable x y : Inverses_setoid.
Definition Inv_comp_elt_l := Inv_elt_l x +_M Inv_elt_l y.
Definition Inv_comp_elt_r := Inv_elt_r y +_M Inv_elt_r x.
Canonical Structure Inverses_comp : Inverses_setoid :=
Build_Inverses Inv_comp_invs1 Inv_comp_invs2.
End inverses_comp_def.
Definition Inverses_op := Build_Map2 Inverses_congl Inverses_congr.
(* The Monoid of inverse pairs *)
Canonical Structure Inverses_unit :=
Build_Inverses Inverses_unit_invs Inverses_unit_invs.

Lemma Midl_Inverses : Monoid_idl Inverses_op Inverses_unit.