(** 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.Notation "{-}" := (Abelian_Group.op_neg _) : abelian_group_scope.Notation "- x" := (Abelian_Group.op_neg _ x) : abelian_group_scope.

Theorem op_neg_distrib_inv : forall x y : E, op_is_inv (x + y) (- y + - x).