induction ls; intuition.
unfold sumList; simpl in *.
eapply eqRat_impl_leRat.
rewrite <- ratIdentityIndiscernables.
intuition.
repeat rewrite sumList_cons.
rewrite rat_distance_of_sum.
eapply ratAdd_leRat_compat.
eapply eqRat_impl_leRat.
eapply ratMult_ratDistance_factor_l.
eapply IHls.
Qed.

(* Specifications: *)
Theorem sumList_all :
forall (A : Set)(ls : list A)(f : A -> Rat) c,
(forall a, In a ls -> (f a) == c) ->
sumList ls f == (length ls)/1 * c.