Proof
fun x
=> let H
: (0 # x) + (0 # x) = (0 # x) + 0
:= eq_refl (0 # x)
|| a # x = 0 # x         @a by (sum_id_l 0)
|| a = 0 # x             @a by <- prod_sum_distrib_r x 0 0
|| (0 # x) + (0 # x) = a @a by sum_id_r (0 # x)
in sum_cancel_l (0 # x) 0 (0 # x) H.

(* Specifications: *)
(** Proves that 0 times every number equals 0. *)
Theorem prod_0_r
:  forall x : E, x # 0 = 0.