Definition continuous_at(f : Rat -> Rat -> Prop)(c : Rat) :=
  forall v, f c v ->
    rat_limit f c v.

(* Specifications: *)
Lemma rat_inf_limit_comp : forall (f : nat -> Rat -> Prop)(g : Rat -> Rat -> Prop) a v, rat_inf_limit f a -> g a v -> continuous_at g a -> left_total f -> rat_inf_limit (fun n r => forall v', (f n v' -> g v' r)) v.
Lemma rat_inf_limit_trans : forall (f1 f2 : nat -> Rat -> Prop) a, rat_inf_limit_2 f1 f2 -> rat_inf_limit f2 a -> left_total f2 -> rat_inf_limit f1 a.
Lemma rat_inf_limit_exp_0 : forall (f : nat -> Rat -> Prop) a, rat_inf_limit f a -> ~ 1 <= a -> (forall n, exists r, f n r) -> rat_inf_limit (fun n => (expRat_rel (f n) n)) 0.
Lemma rat_inf_limit_mono : forall (f : nat -> Rat -> Prop) (g : nat -> nat)(v : Rat), rat_inf_limit f v -> (forall n1 n2, n1 <= n2 -> g n1 <= g n2)%nat -> (forall y, exists x, g x = y) -> rat_inf_limit (fun n => f (g n)) v.
Lemma rat_inf_limit_sqrt: forall (f : nat -> Rat -> Prop) (v : Rat), rat_inf_limit f v -> rat_inf_limit (fun n => f (Nat.sqrt n)) v.