Proof
fun x H H0
=> let H1
:  op_is_inv ({-} x H) ({-} ({-} x H) H0)
:= op_neg_def ({-} x H) H0 in
let H3
:  op_is_inv ({-} x H) x
:= op_neg_inv x H in
op_inv_uniq ({-} x H) x ({-} ({-} x H) H0) H3 H1.

(** Proves that double negation is equivalent to the identity function for all invertible values. *)
Theorem op_cancel_neg
:  forall (x : M) (H : has_inv x), {-} ({-} x H) (op_neg_inv_ex x H) = x.