4.5.Β The proof
We are going to prove, therefore, the main implication of Urysohn's lemma, following the Lean proof step by step.
Let X be a normal space. We want to prove that for each pair of non-empty disjoint closed sets C_1 and C_2 there exists a continuous function f : X \to [0, 1] such that f(C_1) = \{0\} and f(C_2) = \{1\}.
Let, then, C_1 and C_2 be closed sets with those conditions.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' Yβ’ NormalSpace X β
β (C1 C2 : Set X),
C1 β β
β
C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} -- β
intro hT X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set Xβ’ β (C2 : Set X),
C1 β β
β
C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set Xβ’ C1 β β
β
C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set XC1nempty:C1 β β
β’ C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
β’ IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1β’ IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2β’ Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:NormalSpace XC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2β’ β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
To begin with, we prove some auxiliary properties, such as that C_2^c is open (since C_2 is closed), and that C_1 \subseteq C_2^c (since they are disjoint), which will make it easier to apply the rest of the results we have been proving. We will also use the characterisation of normal spaces (3.14) on the hypothesis that X is normal.
have C2c_open : IsOpen C2αΆ := X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' Yβ’ NormalSpace X β
β (C1 C2 : Set X),
C1 β β
β
C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} All goals completed! π
have hC1C2 : C1 β C2αΆ := X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' Yβ’ NormalSpace X β
β (C1 C2 : Set X),
C1 β β
β
C2 β β
β IsClosed C1 β IsClosed C2 β Disjoint C1 C2 β β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©} All goals completed! π
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆβ’ β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}Now, for convenience we are going to define the following functions.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2β’ β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xβ’ β f, Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
This way we do not have to drag the arguments of H and k along at every step. I rename H to G to keep the notation of the outline, since it is the function of the form G : \mathbb{N} \to \mathcal{P}(X). I also rename k to g, to avoid confusion.
Now, recall that k : X \to \mathbb{R} was not exactly the function we were looking for. We are finally going to define the function to use to separate our closed sets, f, in the following way:
let f : X β Y := fun x β¦ β¨g x, X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xx:Xβ’ g x β Y
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xx:Xβ’ g x β Set.Icc 0 1
All goals completed! πβ©
That is, f is a function that takes values in X and returns a real value together with a proof that this value is actually in the interval [0, 1], given using k_in_01, which we had proved before. Therefore, Lean interprets it as a function f : X \to [0, 1], which is exactly what we wanted.
So we already have the separating function and we can take the big step:
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ Continuous f β§ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
It remains to prove that f is continuous, that f(C_1) = \{0\} and that f(C_1) = \{1\}.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ Continuous fX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
4.5.1.Β Continuity of f
We want to see that f is continuous. To do so, we apply the result continuousInSubspace_iff_trueForBase, which we saw was a combination of 3.12 and 3.13.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ Continuous f X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ β U β {s | β a b, s = Set.Ioo a b}, IsOpen (f β»ΒΉ' Subtype.val β»ΒΉ' U)
So it suffices to prove that for each basic open set W of \mathbb{R}, f^{-1}(W) is open in X. Let W = (a, b) be an open set of the base formed by the real open intervals.
intro W X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βhW:W β {s | β a b, s = Set.Ioo a b}β’ IsOpen (f β»ΒΉ' Subtype.val β»ΒΉ' W)
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bβ’ IsOpen (f β»ΒΉ' Subtype.val β»ΒΉ' W)
We want to see that f^{-1}(W) is open in X. Using the characterisation of open sets (3.1), it suffices to see that it is a neighbourhood of all of its points. Let then x \in f^{-1}(W), which means that f(x) \in (a, b).
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bβ’ β x β f β»ΒΉ' Subtype.val β»ΒΉ' W, Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
intro x X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:x β f β»ΒΉ' Subtype.val β»ΒΉ' Wβ’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bβ’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
Since f(x) \in (a, b), there exists p \in \mathbb{Q} with a < p < f(x), and there also exists q \in \mathbb{Q} with f(x) < q < b.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)β’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bβ’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
We are going to prove that x \in G(q) and that x \notin \overline{G(p)}.
First let us recall the results 4.13 and 4.14 (with the function names corresponding to the current notation):
-
k_claim1:\forall p \in \mathbb{Q},\forall x \in X, x \in \overline{G(p)} \implies g(x) \leq p -
k_claim2:\forall p \in \mathbb{Q},\forall x \in X, x \notin G(p) \implies g(x) \geq p
have claim1 := k_claim1 hT C1 C2
C1closed (X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bβ’ IsOpen C2αΆ All goals completed! π)
(X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bβ’ C1 β C2αΆ All goals completed! π)
have claim2 := k_claim2 hT C1 C2
C1closed (X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpβ’ IsOpen C2αΆ All goals completed! π)
(X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpβ’ C1 β C2αΆ All goals completed! π)
(1) To see that x \notin \overline{G(p)}, suppose by contradiction that it is. Then we can apply claim1 and obtain that g(x) \leq p, but we had p < f(x) = g(x), contradiction.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpβ’ x β closure (G p)X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)β’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpβ’ x β closure (G p) X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpc:x β closure (G p)β’ False
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpc:k hT C1 C2 x β€ βpβ’ False
All goals completed! π
(2) Similarly, if we suppose by contradiction that x \notin U(q), then by claim2 we obtain that g(x) \geq q, but we had q > f(x) = g(x), contradiction.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)β’ x β G qX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ Neighbourhood (f β»ΒΉ' Subtype.val β»ΒΉ' W) x
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)β’ x β G q X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)c:x β G qβ’ False
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)c:k hT C1 C2 x β₯ βqβ’ False
All goals completed! π
Recapping, we want to see that f^{-1}(W) is a neighbourhood of x (x was arbitrary). This is, by definition, finding a set U\subseteq X that is open and such that x \in U \subseteq f^{-1}(W).
Let us take the set U = G(q) \cap (\overline{G(p)})^c and see that it satisfies these conditions.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ G q β© (closure (G p))αΆ β f β»ΒΉ' Subtype.val β»ΒΉ' W β§ OpenNeighbourhood (G q β© (closure (G p))αΆ) x
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ G q β© (closure (G p))αΆ β f β»ΒΉ' Subtype.val β»ΒΉ' WX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ OpenNeighbourhood (G q β© (closure (G p))αΆ) x
(1) Let us see that U \subseteq f^{-1}(W). To do so, let y \in U and let us see that y \in f^{-1}(W) = f^{-1}((a, b)), that is, let us see that a < f(y) < b.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ G q β© (closure (G p))αΆ β f β»ΒΉ' Subtype.val β»ΒΉ' W intro y X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ y β f β»ΒΉ' Subtype.val β»ΒΉ' W
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ y β f β»ΒΉ' Subtype.val β»ΒΉ' Set.Ioo a b
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ a < β(f y)X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ β(f y) < b
We have that y \notin G(p), since otherwise, y \in G(p) \subseteq \overline{G(p)}, but y \in \overline{G(p)}^c. Applying claim1, we have that f(y) = g(y) \geq p > a.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ a < β(f y) X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ y β G pX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhyβ:y β G q β© (closure (G p))αΆhy:y β G pβ’ a < β(f y)
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ y β G p X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆc:y β G pβ’ False
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆc:y β closure (G p)β’ False
All goals completed! π
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhyβ:y β G q β© (closure (G p))αΆhy:k hT C1 C2 y β₯ βpβ’ a < β(f y)
All goals completed! π
On the other hand, since y \in G(q) \subseteq \overline{G(q)}, by claim2 we have that f(y) = g(y) \leq q < b.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhy:y β G q β© (closure (G p))αΆβ’ β(f y) < b X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhyβ:y β G q β© (closure (G p))αΆhy:y β G qβ’ β(f y) < b
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhyβ:y β G q β© (closure (G p))αΆhy:y β closure (G q)β’ β(f y) < b
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qy:Xhyβ:y β G q β© (closure (G p))αΆhy:y β closure (G q)claim1:k hT C1 C2 y β€ βqβ’ β(f y) < b
All goals completed! π
So we conclude that f(y) \in (a, b) = W. The hard work is already done; it only remains to see that x \in U and that U is open.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β G q β© (closure (G p))αΆX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (G q β© (closure (G p))αΆ)
(2) As we had seen, x \in G(q) and x \notin \overline{G(p)}. Hence x \in U.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β G q β© (closure (G p))αΆ -- probar que `x β V`
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β G qX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β (closure (G p))αΆ
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β G q All goals completed! π
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ x β (closure (G p))αΆ All goals completed! π
(3) Proving that U is open is easy: since it is a finite intersection, it suffices to see that both components are open. By 4.5, G(q) is open. Moreover, \overline{G(p)} is closed for being a closure, so its complement is open.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (G q β© (closure (G p))αΆ) -- probar que `V` es abierto
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (G q)X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (closure (G p))αΆ
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (G q) All goals completed! π
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsOpen (closure (G p))αΆ X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©W:Set βa:βb:βhW:W = Set.Ioo a bx:Xhx:f x β Subtype.val β»ΒΉ' Set.Ioo a bp:βhp:a < βp β§ βp < β(f x)q:βhq:β(f x) < βq β§ βq < bclaim1:β (p : β), β x β closure (H hT C1 C2 p), k hT C1 C2 x β€ βpclaim2:β (p : β), β x β H hT C1 C2 p, k hT C1 C2 x β₯ βpaux1:x β closure (G p)aux2:x β G qβ’ IsClosed (closure (G p))
All goals completed! π
4.5.2.Β Image of f
To finish the proof, it only remains to see that f(C_1) = \{0\} and that f(C_2) = \{1\}.
To begin with, note that f(A) = g(A) for any A \subseteq X.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ β (A : Set X), Subtype.val '' f '' A = g '' AX:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©aux:β (A : Set X), Subtype.val '' f '' A = g '' Aβ’ f '' C1 = {β¨0, β―β©} β§ f '' C2 = {β¨1, β―β©}
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©β’ β (A : Set X), Subtype.val '' f '' A = g '' A X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©A:Set Xβ’ Subtype.val '' f '' A = g '' A; X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©A:Set Xx:ββ’ x β Subtype.val '' f '' A β x β g '' A; All goals completed! π
So we can reduce the goal to g(C_1) = \{0\} and g(C_2) = \{1\}.
The result then follows from lemma 4.18 and its analogue for C_2.
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©aux:β (A : Set X), Subtype.val '' f '' A = g '' Aβ’ g '' C1 = {0}X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©aux:β (A : Set X), Subtype.val '' f '' A = g '' Aβ’ g '' C2 = {1}
/-
2. f(C1) = {0}
-/
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©aux:β (A : Set X), Subtype.val '' f '' A = g '' Aβ’ g '' C1 = {0} All goals completed! π
/-
3. f(C2) = {1}
-/
X:TypeY:Set βT:TopologicalSpace XT':TopologicalSpace βhT':T' = UsualTopologyR:TopologicalSpace βYhY:Y = Set.Icc 0 1hR:R = TopoSubspace T' YhT:β (U C : Set X), IsOpen U β IsClosed C β C β U β β V, IsOpen V β§ C β V β§ closure V β UC1:Set XC2:Set XC1nempty:C1 β β
C2nempty:C2 β β
C1closed:IsClosed C1C2closed:IsClosed C2C1C2disj:Disjoint C1 C2C2c_open:IsOpen C2αΆhC1C2:C1 β C2αΆG:β β Set X := H hT C1 C2g:X β β := fun x => k hT C1 C2 xf:X β βY := fun x => β¨g x, β―β©aux:β (A : Set X), Subtype.val '' f '' A = g '' Aβ’ g '' C2 = {1} All goals completed! πWhich concludes the proof of Urysohn's lemma.