unfold inf_limit; intuition.
destruct (H epsilon).
trivial.
exists x.
intuition.
eapply H2.
eapply H3.
eapply H0.
trivial.
Qed.
End Limit.
(* limits for Rat *)
Local Open Scope rat_scope.
Definition rat_inf_limit(f : nat -> Rat -> Prop)(r : Rat) :=
inf_limit eqRat ratDistance rat0 leRat f r.
Definition rat_inf_limit_2(f1 f2 : nat -> Rat -> Prop) :=
inf_limit_2 eqRat ratDistance rat0 leRat f1 f2.
Definition rat_limits_eq :=
limits_eq eq_Rat_dec ratDistance_comm ratHalf ratHalf_ne_0 ratIdentityIndiscernables eqRat_impl_leRat leRat_trans ratAdd ratAdd_leRat_compat ratTriangleInequality ratHalf_add le_ratHalf_0.

Theorem rat_inf_limit_2_trans : forall f1 f2 f3,
rat_inf_limit_2 f1 f2 ->
rat_inf_limit_2 f2 f3 ->
left_total f2 ->
rat_inf_limit_2 f1 f3.