induction ls; intuition.
unfold sumList; simpl in *.
intuition.
rewrite sumList_cons.
eapply leRat_trans.
2:{
eapply eqRat_impl_leRat.
rewrite sumList_cons.
eapply eqRat_refl.
}
simpl in *.
eapply ratAdd_leRat_compat.
eapply H.
intuition.
eapply IHls.
intuition.
Qed.

(* Specifications: *)
Lemma sumList_distance_prod : forall (A : Set)(ls : list A)(f f1 f2 : A -> Rat),
| (sumList ls (fun a => (f a) * (f1 a))) - (sumList ls (fun a => (f a) * (f2 a))) | <= sumList ls (fun a => (f a) * | (f1 a) - (f2 a) |).