(**
  Accepts two elements, x and y, and
  asserts that y is x's left inverse.
*)
Definition sum_is_inv_l
  := Ring.sum_is_inv_l ring.(**
  Accepts two elements, x and y, and
  asserts that y is x's right inverse.
*)
Definition sum_is_inv_r
  := Ring.sum_is_inv_r ring.(**
  Accepts two elements, x and y, and
  asserts that y is x's inverse.
*)
Definition sum_is_inv
  := Ring.sum_is_inv ring.(**
  Accepts one argument, x, and asserts that
  x has a left inverse.
*)
Definition sum_has_inv_l := Ring.sum_has_inv_l ring.(**
  Accepts one argument, x, and asserts that
  x has a right inverse.
*)
Definition sum_has_inv_r := Ring.sum_has_inv_r ring.(**
  Accepts one argument, x, and asserts that
  x has an inverse.
*)
Definition sum_has_inv := Ring.sum_has_inv ring.

Theorem sum_inv_0_uniq : unique (fun x => sum_is_inv x 0) 0.