cut (predZ OZ = neg 0); intros. elim H.
rewrite (pred_addZ_r x OZ); rewrite (add_OZ x); reflexivity.
reflexivity.
Qed.

(* Specifications: *)
(*************************)
Theorem addZ_commutativity : commutativity Z addZ.
unfold commutativity in |- *; intros; elim x.