/-
Copyright 2025 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/importFormalConjecturesUtil
A set in $\mathbb{R}$ is connected if and only if it is order-connected and non-empty.
@[categorytest,AMS54]lemmaisConnected_iff_ordConnected_and_nonempty{s:Setℝ}:IsConnecteds↔s.OrdConnected∧s.Nonempty:=s:Setℝ⊢ IsConnecteds↔s.OrdConnected∧s.Nonempty/-
We prove this by combining the facts that connected sets in $\mathbb{R}$ are exactly the order-connected sets, and that connected sets are by definition non-empty.
-/s:Setℝ⊢ IsConnecteds→s.OrdConnected∧s.Nonemptys:Setℝ⊢ s.OrdConnected∧s.Nonempty→IsConnectedss:Setℝ⊢ IsConnecteds→s.OrdConnected∧s.Nonemptys:Setℝh1:s.Nonemptyh2:IsPreconnecteds⊢ s.OrdConnected∧s.NonemptyAll goals completed! 🐙s:Setℝ⊢ s.OrdConnected∧s.Nonempty→IsConnectedss:Setℝh1:s.OrdConnectedh2:s.Nonempty⊢ IsConnectedsAll goals completed! 🐙
If $f : \mathbb{R} \to \mathbb{R}$ is a connected bijection, then its inverse is also a connected bijection.
The composition of two connected maps is a connected map.
@[categorytest,AMS54]lemmaisConnectedMap_comp{XYZ:Type*}[TopologicalSpaceX][TopologicalSpaceY][TopologicalSpaceZ]{f:X→Y}{g:Y→Z}(hf:IsConnectedMapf)(hg:IsConnectedMapg):IsConnectedMap(g∘f):=byX:Type u_1Y:Type u_2Z:Type u_3inst✝²:TopologicalSpaceXinst✝¹:TopologicalSpaceYinst✝:TopologicalSpaceZf:X→Yg:Y→Zhf:IsConnectedMapfhg:IsConnectedMapg⊢ IsConnectedMap(g∘f)/-
We prove this by simply applying the definition of a connected map twice.
-/introshsX:Type u_1Y:Type u_2Z:Type u_3inst✝²:TopologicalSpaceXinst✝¹:TopologicalSpaceYinst✝:TopologicalSpaceZf:X→Yg:Y→Zhf:IsConnectedMapfhg:IsConnectedMapgs:SetXhs:IsConnecteds⊢ IsConnected(g∘f''s)rw[Set.image_compX:Type u_1Y:Type u_2Z:Type u_3inst✝²:TopologicalSpaceXinst✝¹:TopologicalSpaceYinst✝:TopologicalSpaceZf:X→Yg:Y→Zhf:IsConnectedMapfhg:IsConnectedMapgs:SetXhs:IsConnecteds⊢ IsConnected(g''f''s)X:Type u_1Y:Type u_2Z:Type u_3inst✝²:TopologicalSpaceXinst✝¹:TopologicalSpaceYinst✝:TopologicalSpaceZf:X→Yg:Y→Zhf:IsConnectedMapfhg:IsConnectedMapgs:SetXhs:IsConnecteds⊢ IsConnected(g''f''s)]X:Type u_1Y:Type u_2Z:Type u_3inst✝²:TopologicalSpaceXinst✝¹:TopologicalSpaceYinst✝:TopologicalSpaceZf:X→Yg:Y→Zhf:IsConnectedMapfhg:IsConnectedMapgs:SetXhs:IsConnecteds⊢ IsConnected(g''f''s)exacthg(hfhs)All goals completed! 🐙
A homeomorphism is a connected map.
@[categorytest,AMS54]lemmaisConnectedMap_homeomorph{XY:Type*}[TopologicalSpaceX][TopologicalSpaceY](h:X≃ₜY):IsConnectedMaph:=byX:Type u_1Y:Type u_2inst✝¹:TopologicalSpaceXinst✝:TopologicalSpaceYh:X≃ₜY⊢ IsConnectedMap⇑h/-
We prove this by noting that a homeomorphism is continuous, and continuous maps preserve connectedness.
-/introshsX:Type u_1Y:Type u_2inst✝¹:TopologicalSpaceXinst✝:TopologicalSpaceYh:X≃ₜYs:SetXhs:IsConnecteds⊢ IsConnected(⇑h''s)exacths.imagehh.continuous.continuousOnAll goals completed! 🐙
If $f : \mathbb{R}^1 \to \mathbb{R}^1$ is a connected bijection, then its inverse is also a connected bijection.
@[categorytest,AMS54]lemmaisConnectedMap_symm_of_E1(f:ℝ^1≃ℝ^1)(hf:IsConnectedMapf):IsConnectedMapf.symm:=byf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑f⊢ IsConnectedMap⇑f.symm/-
We prove this by conjugating $f$ with the standard homeomorphism between $\mathbb{R}^1$ and $\mathbb{R}$, and then applying the corresponding result for $\mathbb{R}$.
-/leth:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)⊢ IsConnectedMap⇑f.symmletg:ℝ≃ℝ:=h.symm.toEquiv.trans(f.transh.toEquiv)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)⊢ IsConnectedMap⇑f.symmhavehg_conn:IsConnectedMapg:=byhaveh1:IsConnectedMaph.symm:=isConnectedMap_homeomorphh.symmf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)h1:IsConnectedMap⇑h.symm⊢ IsConnectedMap⇑gf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑g⊢ IsConnectedMap⇑f.symmhaveh2:IsConnectedMaph:=isConnectedMap_homeomorphhf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)h1:IsConnectedMap⇑h.symmh2:IsConnectedMap⇑h⊢ IsConnectedMap⇑gf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑g⊢ IsConnectedMap⇑f.symmchangeIsConnectedMap(h∘f∘h.symm)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)h1:IsConnectedMap⇑h.symmh2:IsConnectedMap⇑h⊢ IsConnectedMap(⇑h∘⇑f∘⇑h.symm)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑g⊢ IsConnectedMap⇑f.symmexactisConnectedMap_comp(isConnectedMap_comph1hf)h2f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑g⊢ IsConnectedMap⇑f.symmf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑g⊢ IsConnectedMap⇑f.symmhavehg_symm_conn:IsConnectedMapg.symm:=isConnectedMap_symm_of_Rghg_connf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symm⊢ IsConnectedMap⇑f.symmhavehf_eq:(f.symm:ℝ^1→ℝ^1)=h.symm∘g.symm∘h:=byextxf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmx:ℝ^1i✝:Fin1⊢ (f.symmx).ofLpi✝=((⇑h.symm∘⇑g.symm∘⇑h)x).ofLpi✝f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap⇑f.symmsimp[g]f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap⇑f.symmf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap⇑f.symmrw[hf_eqf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)]f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑h⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)haveh1:IsConnectedMaph:=isConnectedMap_homeomorphhf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑hh1:IsConnectedMap⇑h⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)haveh2:IsConnectedMaph.symm:=isConnectedMap_homeomorphh.symmf:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑hh1:IsConnectedMap⇑hh2:IsConnectedMap⇑h.symm⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)changeIsConnectedMap(h.symm∘g.symm∘h)f:ℝ^1≃ℝ^1hf:IsConnectedMap⇑fh:ℝ^1≃ₜℝ:=(EuclideanSpace.equiv(Fin1)ℝ).toHomeomorph.trans(Homeomorph.funUnique(Fin1)ℝ)g:ℝ≃ℝ:=h.symm.trans(f.transh.toEquiv)hg_conn:IsConnectedMap⇑ghg_symm_conn:IsConnectedMap⇑g.symmhf_eq:⇑f.symm=⇑h.symm∘⇑g.symm∘⇑hh1:IsConnectedMap⇑hh2:IsConnectedMap⇑h.symm⊢ IsConnectedMap(⇑h.symm∘⇑g.symm∘⇑h)exactisConnectedMap_comp(isConnectedMap_comph1hg_symm_conn)h2All goals completed! 🐙
Assume for $n>1$, $f:\mathbb{R}^n\to\mathbb{R}^n$ is a bijection, where $\mathbb{R}^n$ is equipped
with the standard topology. Does the connectedness of (the induced power set map) $f$ imply
that of $f^{-1}$?