(** ** Shifting of a polynomial  - [pshift p] is the polynomial [p] with one more variable and where each variable [i] is replaced by [i+1]. *)
Definition pshift_pow (xn:pow) : pow :=
(S (fst xn), snd xn).
Definition pshift_mon (m:mon) : mon :=
(fst m, map pshift_pow (snd m)).
Definition pshift (p:pol) : pol :=
(S (fst p), map pshift_mon (snd p)).

Lemma pshift_pow_correct : forall xn l,
peval_pow (pshift_pow xn) l = peval_pow xn (tl l).