induction ls; intuition; subst; simpl in *.
trivial.
f_equal.
eauto.
Qed.
Fixpoint getNats s n :=
match n with
| O => nil
| S n' => (s + n')%nat :: (getNats s n')
end.

(* Specifications: *)
Lemma ratMult_sumList_rel_distrib : forall (A : Set)(ls : list A) f (x : Rat -> Prop) x' a,
sumList_rel f ls a ->
(forall i v1 v2, f i v1 -> f i v2 -> v1 == v2) ->
(forall x1 x2, x x1 -> x x2 -> x1 == x2) ->
x x' ->
sumList_rel (fun i => ratMult_rel x (f i)) ls (x' * a).