Require Export Lci.
Require Export misc.
Require Export Arith.
Require Export groups.
Require Export rings.
Require Export ZArith.
(* Addition on Z, (Z, +) is a group *)
Definition IdZ (x : Z) := True.

(* Specifications: *)
Theorem Z_group : is_group Z IdZ Zplus 0%Z Zopp.
(* Multiplication on Z, (Z, +, *, 0, 1) is a unitary commutative ring *)
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.