Zulip Chat Archive
Stream: Is there code for X?
Topic: Uniform separation of compact and closed set
Anatole Dedecker (Oct 01 2022 at 17:33):
Do we have the following?
import topology.uniform_space.basic
open uniform_space
open_locale uniformity
lemma bourbaki_GT_II_4_prop4 {X : Type*} [uniform_space X] {A B : set X}
(hA : is_compact A) (hB : is_closed B) (h : disjoint A B) :
β V β π€ X, (β x β A, ball x V) β© (β x β B, ball x V) = β
:=
sorry
(and btw, do we have a better way to express β x β A, ball x V
? Like docs#metric.thickening but for any entourage)
Anatole Dedecker (Oct 01 2022 at 17:34):
(The reference is for the French edition of Bourbaki, I hope it's enough clues to find it in the English version)
Anatole Dedecker (Oct 01 2022 at 19:14):
Ok so it follows quite easily from Yury's docs#is_compact.nhds_set_basis_uniformity, which is funny because Bourbaki does it the other way around.
import topology.uniform_space.basic
open uniform_space set
open_locale uniformity filter topological_space
lemma bourbaki_GT_II_4_prop4 {X : Type*} [uniform_space X] {A B : set X}
(hA : is_compact A) (hB : is_closed B) (h : disjoint A B) :
β V β π€ X, disjoint (β x β A, ball x V) (β x β B, ball x V) :=
begin
have : BαΆ β πΛ’ A := hB.is_open_compl.mem_nhds_set.mpr h.le_compl_right,
rw (hA.nhds_set_basis_uniformity (filter.basis_sets _)).mem_iff at this,
rcases this with β¨U, hU, hUABβ©,
rcases comp_symm_mem_uniformity_sets hU with β¨V, hV, hVsymm, hVUβ©,
refine β¨V, hV, Ξ» x, _β©,
simp only [inf_eq_inter, mem_inter_iff, mem_Unionβ],
rintro β¨β¨a, ha, hxaβ©, β¨b, hb, hxbβ©β©,
rw mem_ball_symmetry hVsymm at hxa hxb,
exact hUAB (mem_Unionβ_of_mem ha $ hVU $ mem_comp_of_mem_ball hVsymm hxa hxb) hb
end
Anatole Dedecker (Oct 01 2022 at 19:15):
If someone wants to try the other way to see if it's shorter that would probably be fun, but that's good enough for me
Anatole Dedecker (Oct 01 2022 at 20:04):
Last updated: Dec 20 2023 at 11:08 UTC