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_ex_dec :
forall (x : T) (P : T -> Prop),
(forall x, P x \/ ~P x) ->
locally x P ->
{d : posreal | forall y, ball x d y -> P y}.