Definition is_filter_lim (F : (T -> Prop) -> Prop) (x : T) :=
  forall P, locally x P -> F P.

(* Specifications: *)
Lemma is_filter_lim_filter_le : forall {F G} (x : T), filter_le G F -> is_filter_lim F x -> is_filter_lim G x.
Lemma is_filter_lim_close {F} {FF : ProperFilter F} (x y : T) : is_filter_lim F x -> is_filter_lim F y -> close x y.
Lemma is_filter_lim_locally_close (x y : T) : is_filter_lim (locally x) y -> close x y.
Lemma filterlim_const : forall {T} {U : UniformSpace} {F : (T -> Prop) -> Prop} {FF : Filter F}, forall a : U, filterlim (fun _ => a) F (locally a).
Lemma filterlim_locally : forall {F} {FF : Filter F} (f : T -> U) y, filterlim f F (locally y) <-> forall eps : posreal, F (fun x => ball y eps (f x)).
Lemma filterlimi_locally : forall {F} {FF : Filter F} (f : T -> U -> Prop) y, filterlimi f F (locally y) <-> forall eps : posreal, F (fun x => exists z, f x z /\ ball y eps z).
Lemma filterlim_locally_close : forall {F} {FF: ProperFilter F} (f : T -> U) l l', filterlim f F (locally l) -> filterlim f F (locally l') -> close l l'.
Lemma filterlimi_locally_close : forall {F} {FF: ProperFilter F} (f : T -> U -> Prop) l l', F (fun x => forall y1 y2, f x y1 -> f x y2 -> y1 = y2) -> filterlimi f F (locally l) -> filterlimi f F (locally l') -> close l l'.
Lemma is_filter_lim_filtermap {T: UniformSpace} {U : UniformSpace} : forall F x (f : T -> U), filterlim f (locally x) (locally (f x)) -> is_filter_lim F x -> is_filter_lim (filtermap f F) (f x).