Definition Z_eq_bool a b :=
  match a, b with
  | Z0, Z0 => true
  | Zpos a', Zpos b' => pos_eq_bool a' b'
  | Zneg a', Zneg b' => pos_eq_bool a' b'
  | _, _ => false
  end.

Theorem Zabs_intro : forall (P : Z -> Prop) (z : Z), P (- z)%Z -> P z -> P (Zabs z).