(** ** 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)).