split.
exact I.
intros.
split.
exact (add_OZ x).
unfold addZ in |- *; reflexivity.
Qed.
Definition oppZ (x : Z) :=
match x return Z with
| OZ => OZ
| pos n => neg n
| neg n => pos n
end.

(* Specifications: *)
Lemma opp_succZ : forall x : Z, oppZ (succZ x) = predZ (oppZ x).
simple destruct x.