(** ** Polynomial defined as a sum of a range of variables  - [psum start len] is the polynomial with [start+len] variables and consisting in the sum of the variables [start] to [start+len-1]. *)
Definition psum (start len : nat) : pol :=
pplus (pcst (start+len) 0) (pplusl (map (pproj (start+len)) (seq start len))).

Lemma psum_correct start len l :
peval (psum start len) l =
plusl (map (fun i => nth i l 0) (seq start len)).