proposition: Lemma nbhs_ballE {R : numDomainType} {M : pseudoMetricType R} : (@nbhs_ball R M) = nbhs.
proof: Proof. rewrite predeq2E => x P; rewrite -nbhs_entourageE; split. by move=> [_/posnumP[e] sbxeP]; exists [set xy | ball xy.1 e%:num xy.2]. rewrite -entourage_ballE; move=> [A [e egt0 sbeA] sAP]. by exists e => // ??; apply/sAP/sbeA. Qed.
imports: HB(structures) mathcomp(all_ssreflect all_algebra finmap generic_quotient) mathcomp(boolp classical_sets functions) mathcomp(cardinality mathcomp_extra fsbigop) reals signed