Definition psub  := psub Z0  Z.add Z.sub Z.opp Zeq_bool.Definition popp  := popp Z.opp.Definition padd  := padd Z0  Z.add Zeq_bool.Definition pmul := pmul 0 1 Z.add Z.mul Zeq_bool.Definition normZ  := norm 0 1 Z.add Z.mul Z.sub Z.opp Zeq_bool.Definition eval_pol := eval_pol Z.add Z.mul (fun x => x).

Lemma eval_pol_norm : forall env e, eval_expr env e = eval_pol env (normZ e) .