unfold rat_inf_limit, inf_limit in *.
intuition.
exists O.
intuition.
eapply leRat_trans.
eapply eqRat_impl_leRat.
rewrite <- ratIdentityIndiscernables.
eauto.
eapply rat0_le_all.
Qed.

(* Specifications: *)
Lemma rat_inf_limit_summation : forall (A : Set)(f1 : A -> nat -> Rat -> Prop)(f2 : A -> Rat)(ls : list A),
(forall a, rat_inf_limit (f1 a) (f2 a)) ->
(forall a, left_total (f1 a)) ->
(forall a n r1 r2, f1 a n r1 -> f1 a n r2 -> r1 == r2) ->
rat_inf_limit
(fun n : nat => sumList_rel (fun a0 : A => f1 a0 n) ls)
(sumList ls f2).