Definition id_phi_N (x:N) : N := x.

(* Specifications: *)
Lemma pow_N_pow_N : forall  x n, pow_N x (id_phi_N n) == pow_N x n.
(** Identity is a morphism *)
(* Instance IDmorph : Ring_morphism _ _ _  (fun x => x). *)
(** rings are almost rings*)
Lemma ring_mul_0_l : forall  x, 0 * x == 0.
Lemma ring_mul_0_r : forall  x, x * 0 == 0.
Lemma ring_opp_mul_l : forall x y, -(x * y) == -x * y.
Lemma ring_opp_mul_r : forall x y, -(x * y) == x * -y.
Lemma ring_opp_add : forall x y, -(x + y) == -x + -y.
Lemma ring_opp_opp : forall  x, - -x == x.
Lemma ring_sub_ext :
forall  x1 x2, x1 == x2 -> forall  y1 y2, y1 == y2 -> x1 - y1 == x2 - y2.