Proof
fun x y
=> ((proj2 (op_neg_def (- y)))
|| - y + a = 0                 @a by <- op_cancel_neg y
|| - y + a = 0                 @a by op_id_l y
|| - y + (a + y) = 0           @a by proj2 (op_neg_def (- x))
|| - y + ((- x + a) + y) = 0 @a by <- op_cancel_neg x
|| - y + a = 0                 @a by op_is_assoc (- x) x y
|| a = 0                         @a by <- op_is_assoc (- y) (- x) (x + y)).

(** Proves that the right inverse of x + y is -y + -x. *)
Theorem op_neg_distrib_inv_r
:  forall x y : E, op_is_inv_r (x + y) (- y + - x).