induction ls; intuition; simpl in *.
exists 0.
econstructor.
intuition.
edestruct H.
left.
eauto.
edestruct IHls.
intuition.
econstructor.
econstructor.
eauto.
eauto.
eapply eqRat_refl.
Qed.

(* Specifications: *)
Lemma sumList_rel_factor_constant : forall (p1 p2 : posnat) (A : Type)(rel : A -> Rat -> Prop)(ls : list A) r,
sumList_rel (fun a r' => rel a (r' * (RatIntro p1 p2))) ls (r * (RatIntro p2 p1)) ->
sumList_rel rel ls r.