Qed.
Definition Rtheory:ring_theory ring0 ring1 add mul sub opp _==_.
apply mk_rt.
- apply ring_add_0_l.
- apply ring_add_comm.
- apply ring_add_assoc.
- apply ring_mul_1_l.
- apply cring_mul_comm.
- apply ring_mul_assoc.
- apply ring_distr_l.
- apply ring_sub_def.
- apply ring_opp_def.
Defined.

(* Specifications: *)
Lemma PolZadd_correct : forall P' P l,
PhiR l (PolZadd P P') == ((PhiR l P) + (PhiR l P')).
Lemma PolZmul_correct : forall P P' l,
PhiR l (PolZmul P P') == ((PhiR l P) * (PhiR l P')).
Lemma R_power_theory
: Ring_theory.power_theory ring1 mul _==_ N.to_nat pow.