intros z1 z2 H; case (Zle_or_lt 0 z1); intros H1.
apply Zle_trans with (- (0))%Z; auto with zarith.
apply Zle_Zopp; apply Zle_trans with (2 := H); auto with zarith.
rewrite <- (Zopp_involutive z1); rewrite <- (Zabs_eq_opp z1);
auto with zarith.
Qed.

(* Specifications: *)
Theorem Zle_Zabs_inv2 :
forall z1 z2 : Z, (Zabs z1 <= z2)%Z -> (z1 <= z2)%Z.