proposition: Lemma uniform_regular {T : uniformType} : @regular_space T.
proof: Proof. move=> x R /=; rewrite -{1}nbhs_entourageE => -[E entE ER]. pose E' := split_ent E; have eE' : entourage E' by exact: entourage_split_ent. exists (to_set (E' `&` E'^-1%classic) x). rewrite -nbhs_entourageE; exists (E' `&` E'^-1%classic) => //. exact: filterI. move=> z /= clEz; apply: ER; apply: subset_split_ent => //. have [] := clEz (to_set (E' `&` E'^-1%classic) z). rewrite -nbhs_entourageE; exists (E' `&` E'^-1%classic) => //. exact: filterI. by move=> y /= [[? ?]] [? ?]; exists y. Qed.
imports: HB(structures) mathcomp(all_ssreflect all_algebra finmap generic_quotient) mathcomp(boolp classical_sets functions) mathcomp(cardinality mathcomp_extra fsbigop) reals signed