Definition fct_UniformSpace_mixin :=
UniformSpace.Mixin _ _ fct_ball_center fct_ball_sym fct_ball_triangle.
Canonical fct_UniformSpace :=
UniformSpace.Pack (T -> U) fct_UniformSpace_mixin (T -> U).
End fct_UniformSpace.
(** ** Local predicates *)
(** locally_dist *)
Definition locally_dist {T : Type} (d : T -> R) (P : T -> Prop) :=
exists delta : posreal, forall y, d y < delta -> P y.
Global Instance locally_dist_filter :
forall T (d : T -> R), Filter (locally_dist d).
(** locally *)
Section Locally.
Context {T : UniformSpace}.
Definition locally (x : T) (P : T -> Prop) :=
exists eps : posreal, forall y, ball x eps y -> P y.
Global Instance locally_filter :
forall x : T, ProperFilter (locally x).

Lemma locally_not :
forall (x : T) (P : T -> Prop),
not (forall eps : posreal, not (forall y, ball x eps y -> not (P y))) ->
locally x (fun y => not (P y)).