Proof
fun x H y z H0 H1
=> let H2
:  x + z = x + y
:= H1 || x + z = a @a by H0 in
let H3
:  z = y
:= op_cancel_l z y x H H2 in
H3.

(* Specifications: *)
(** Proves that an element's inverse is unique. *)
Theorem op_inv_uniq
:  forall x y z : M, op_is_inv x y -> op_is_inv x z -> z = y.