proposition: Lemma Nwadd_ok : forall x y, gen_phiNword (Nwadd x y) == gen_phiNword x + gen_phiNword y.
proof: Proof. intros x; induction x as [|n x IHx]; intros y. - simpl. norm. - destruct y. + simpl Nwadd; norm. + simpl Nwadd. repeat rewrite gen_phiNword_cons. rewrite (fun sreq => gen_phiN_add Rsth sreq (ARth_SRth ARth)) by (destruct Reqe; constructor; trivial). rewrite IHx. norm. add_push (- gen_phiNword x); reflexivity. Qed.
imports: Zbool BinInt BinNat Setoid Ring_theory Ring_polynom