(* Addition on Z, (Z, +) is a group *)

Definition IdZ (x : Z) := True.

(* Specifications: *)
Theorem Z_group : is_group Z IdZ Zplus 0%Z Zopp.
Theorem Z_ring : is_ring Z IdZ Zplus Zmult 0%Z Zopp.
Theorem Z_unitary_commutative_ring : is_unitary_commutative_ring Z IdZ Zplus Zmult 0%Z 1%Z Zopp.
Theorem integrityZ : integrity Z Zmult 0%Z.
Lemma inversibleZ : forall x : Z, inversible Z Zmult 1%Z x -> x = 1%Z \/ x = (-1)%Z.