Fixpoint getNats s n :=
  match n with 
    | O => nil
    | S n' => (s + n')%nat :: (getNats s n')
  end.

Lemma sumList_rel_le : forall (A : Set)(ls : list A)(f1 f2 : A -> Rat -> Prop) r1 r2, sumList_rel f1 ls r1 -> sumList_rel f2 ls r2 -> (forall a v1 v2, In a ls -> f1 a v1 -> f2 a v2 -> v1 <= v2) -> r1 <= r2.