induction ls1; intuition; simpl in *; intuition; subst.
destruct (in_dec eqd1 a (getUnique ls1 eqd1)).
rewrite H in i.
apply in_getUnique_if in i.
trivial.
apply getUnique_cons in H.
destruct H.
destruct H.
intuition.
subst.
eapply in_or_app.
simpl.
intuition.
destruct (in_dec eqd1 a0 (getUnique ls1 eqd1)).
eapply IHls1; intuition.
apply getUnique_cons in H.
destruct H.
destruct H.
intuition.
subst.
apply in_or_app.
simpl.
right.
right.
eapply IHls1; intuition.
Qed.

Lemma sumList_app :
forall (A : Set)(ls1 ls2 : list A)(f : A -> Rat),
sumList (ls1 ++ ls2) f == (sumList ls1 f) + (sumList ls2 f).