Proof
fun x
=> prod_0_r x
|| x # a = 0          @a by E_n1_inv_r
|| a = 0              @a by <- prod_sum_distrib_l x 1 {-1}
|| a + (x # {-1}) = 0 @a by <- prod_id_r x.

(* Specifications: *)
(** Proves that -1 x is the additive inverse of x. *)
Theorem prod_n1_x_inv
:  forall x : E, sum_is_inv x ({-1} # x).