Definition eq (n m : t) := [| n |] = [| m |].Local Infix "=="  := eq (at level 70).Local Notation "0" := ZnZ.zero.Local Notation "1" := ZnZ.one.Local Infix "+" := ZnZ.add.Local Infix "-" := ZnZ.sub.Local Notation "- x" := (ZnZ.opp x).Local Infix "*" := ZnZ.mul.Local Notation wB := (base ZnZ.digits).Ltac zify := unfold eq in *; autorewrite with cyclic.

Lemma CyclicRing : ring_theory 0 1 ZnZ.add ZnZ.mul ZnZ.sub ZnZ.opp eq.