Proof Group.op_inv_0_uniq op_group.
(** Represents strongly-specified negation. *)
Definition op_neg_strong
:  forall x : E, { y | op_is_inv x y }
:= Group.op_neg_strong op_group.
(** Represents negation. *)
Definition op_neg
:  E -> E
:= Group.op_neg op_group.
Close Scope nat_scope.
Notation "{-}" := (op_neg) : abelian_group_scope.
Notation "- x" := (op_neg x) : abelian_group_scope.

(* Specifications: *)
(** Asserts that the negation returns the inverse of its argument. *)
Theorem op_neg_def
:  forall x : E, op_is_inv x (- x).