induction ls; intuition; simpl in *.
assert (P a = true).
eapply H; intuition.
rewrite H0.
f_equal; intuition.
Qed.

Lemma sumList_map :
forall (A B : Set)(ls : list A)(f1 : A -> B)(f : B -> Rat),
sumList (map f1 ls) f ==
sumList ls (fun a => f (f1 a)).