(** ** Multiplication of polynomials  - [pmult p1 p2] is the multiplication of the polynomials [p1] and [p2].  - [pmultl pl] is the multiplication of the polynomials in the list [pl]. *)
Definition pmult_mon (m12:mon*mon) : mon :=
(fst (fst m12) * fst (snd m12), snd (fst m12) ++  snd (snd m12)).
Definition pmult (p1 p2:pol) : pol :=
(max (fst p1) (fst p2), map pmult_mon (list_prod (snd p1) (snd p2))).

Lemma pmult_mon_correct : forall m12 l,
peval_mon (pmult_mon m12) l =
peval_mon (fst m12) l * peval_mon (snd m12) l.