Section Ring.
Context {R:Type}`{Rr:Ring R}.
(* Powers *)
Definition id_phi_N (x:N) : N := x.
Ltac mrewrite :=
repeat first
[ rewrite ring_add_0_l
| rewrite <- (ring_add_comm 0)
| rewrite ring_mul_1_l
| rewrite ring_mul_0_l
| rewrite ring_distr_l
| reflexivity
].

Lemma ring_add_assoc2 : forall x y z, (y + x) + z == (y + z) + x.