(* The set Inverses_set of inverse pairs on A *)

Structure Inverses : Type := 
  {Inv_elt_l : A;
   Inv_elt_r : A;
   Prf_invs1 : Inverses_rel Inv_elt_l Inv_elt_r;
   Prf_invs2 : Inverses_rel Inv_elt_r Inv_elt_l}.(* The set Inverses_set of inverse pairs on A *)

Structure Inverses : Type := 
  {Inv_elt_l : A;
   Inv_elt_r : A;
   Prf_invs1 : Inverses_rel Inv_elt_l Inv_elt_r;
   Prf_invs2 : Inverses_rel Inv_elt_r Inv_elt_l}.(* The set Inverses_set of inverse pairs on A *)

Structure Inverses : Type := 
  {Inv_elt_l : A;
   Inv_elt_r : A;
   Prf_invs1 : Inverses_rel Inv_elt_l Inv_elt_r;
   Prf_invs2 : Inverses_rel Inv_elt_r Inv_elt_l}.(* The set Inverses_set of inverse pairs on A *)

Structure Inverses : Type := 
  {Inv_elt_l : A;
   Inv_elt_r : A;
   Prf_invs1 : Inverses_rel Inv_elt_l Inv_elt_r;
   Prf_invs2 : Inverses_rel Inv_elt_r Inv_elt_l}.(* The set Inverses_set of inverse pairs on A *)

Structure Inverses : Type := 
  {Inv_elt_l : A;
   Inv_elt_r : A;
   Prf_invs1 : Inverses_rel Inv_elt_l Inv_elt_r;
   Prf_invs2 : Inverses_rel Inv_elt_r Inv_elt_l}.Definition Inverses_eq (x y : Inverses) := Inv_elt_l x =_S Inv_elt_l y.

(* Specifications: *)
Lemma Inverses_equiv : Equivalence Inverses_eq.