proposition: Theorem inf_limit_2_const : forall (f : nat -> A -> Prop)(a : A), inf_limit_2 f (fun x => eq a) <-> inf_limit f a.
proof: Proof. intuition. Abort. Theorem limit_eq_h : forall f epsilon a1 a2, left_total f -> ~eq epsilon zero -> inf_limit f a1 -> inf_limit f a2 -> le (distance a1 a2) epsilon. intuition. unfold inf_limit in *. intuition. specialize (H1 (half epsilon)). specialize (H2 (half epsilon)). destruct H1. intuition. eapply half_nz; eauto. destruct H2. intuition. eapply half_nz; eauto. destruct (H (max x x0)). specialize (H1 (max x x0)). specialize (H2 (max x x0)). eapply le_trans. eapply (triangle_inequality _ _ x1). eapply le_trans. eapply add_le_mono. eapply le_trans. eapply le_eq. eapply distance_comm. eapply H1. eapply Nat.max_lub_l; eauto. trivial. eapply H2. eapply Nat.max_lub_r; eauto. trivial. eapply le_eq. eapply half_plus. Qed.
imports: Arith FCF.Fold List FCF.StdNat FCF.Rat