analysis.complex.upper_half_plane.topologyMathlib.Analysis.Complex.UpperHalfPlane.Topology

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -83,7 +83,7 @@ instance : NoncompactSpace ℍ := by
   refine' ⟨fun h => _⟩
   have : IsCompact (Complex.im ⁻¹' Ioi 0) := isCompact_iff_isCompact_univ.2 h
   replace := this.is_closed.closure_eq
-  rw [closure_preimage_im, closure_Ioi, Set.ext_iff] at this 
+  rw [closure_preimage_im, closure_Ioi, Set.ext_iff] at this
   exact absurd ((this 0).1 left_mem_Ici) (lt_irrefl _)
 
 instance : LocallyCompactSpace ℍ :=
Diff
@@ -64,7 +64,7 @@ theorem continuous_im : Continuous im :=
 #align upper_half_plane.continuous_im UpperHalfPlane.continuous_im
 -/
 
-instance : TopologicalSpace.SecondCountableTopology ℍ :=
+instance : SecondCountableTopology ℍ :=
   TopologicalSpace.Subtype.secondCountableTopology _ _
 
 instance : T3Space ℍ :=
Diff
@@ -3,12 +3,12 @@ Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
-import Mathbin.Analysis.Complex.UpperHalfPlane.Basic
-import Mathbin.Analysis.Convex.Contractible
-import Mathbin.Analysis.Convex.Normed
-import Mathbin.Analysis.Convex.Complex
-import Mathbin.Analysis.Complex.ReImTopology
-import Mathbin.Topology.Homotopy.Contractible
+import Analysis.Complex.UpperHalfPlane.Basic
+import Analysis.Convex.Contractible
+import Analysis.Convex.Normed
+import Analysis.Convex.Complex
+import Analysis.Complex.ReImTopology
+import Topology.Homotopy.Contractible
 
 #align_import analysis.complex.upper_half_plane.topology from "leanprover-community/mathlib"@"9240e8be927a0955b9a82c6c85ef499ee3a626b8"
 
Diff
@@ -71,7 +71,7 @@ instance : T3Space ℍ :=
   Subtype.t3Space
 
 instance : NormalSpace ℍ :=
-  normalSpaceOfT3SecondCountable ℍ
+  NormalSpace.of_regularSpace_secondCountableTopology ℍ
 
 instance : ContractibleSpace ℍ :=
   (convex_halfspace_im_gt 0).ContractibleSpace ⟨I, one_pos.trans_eq I_im.symm⟩
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit 9240e8be927a0955b9a82c6c85ef499ee3a626b8
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Complex.UpperHalfPlane.Basic
 import Mathbin.Analysis.Convex.Contractible
@@ -15,6 +10,8 @@ import Mathbin.Analysis.Convex.Complex
 import Mathbin.Analysis.Complex.ReImTopology
 import Mathbin.Topology.Homotopy.Contractible
 
+#align_import analysis.complex.upper_half_plane.topology from "leanprover-community/mathlib"@"9240e8be927a0955b9a82c6c85ef499ee3a626b8"
+
 /-!
 # Topology on the upper half plane
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit 57f9349f2fe19d2de7207e99b0341808d977cdcf
+! leanprover-community/mathlib commit 9240e8be927a0955b9a82c6c85ef499ee3a626b8
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.Topology.Homotopy.Contractible
 /-!
 # Topology on the upper half plane
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we introduce a `topological_space` structure on the upper half plane and provide
 various instances.
 -/
Diff
@@ -34,25 +34,35 @@ namespace UpperHalfPlane
 instance : TopologicalSpace ℍ :=
   Subtype.topologicalSpace
 
+#print UpperHalfPlane.openEmbedding_coe /-
 theorem openEmbedding_coe : OpenEmbedding (coe : ℍ → ℂ) :=
   IsOpen.openEmbedding_subtype_val <| isOpen_lt continuous_const Complex.continuous_im
 #align upper_half_plane.open_embedding_coe UpperHalfPlane.openEmbedding_coe
+-/
 
+#print UpperHalfPlane.embedding_coe /-
 theorem embedding_coe : Embedding (coe : ℍ → ℂ) :=
   embedding_subtype_val
 #align upper_half_plane.embedding_coe UpperHalfPlane.embedding_coe
+-/
 
+#print UpperHalfPlane.continuous_coe /-
 theorem continuous_coe : Continuous (coe : ℍ → ℂ) :=
   embedding_coe.Continuous
 #align upper_half_plane.continuous_coe UpperHalfPlane.continuous_coe
+-/
 
+#print UpperHalfPlane.continuous_re /-
 theorem continuous_re : Continuous re :=
   Complex.continuous_re.comp continuous_coe
 #align upper_half_plane.continuous_re UpperHalfPlane.continuous_re
+-/
 
+#print UpperHalfPlane.continuous_im /-
 theorem continuous_im : Continuous im :=
   Complex.continuous_im.comp continuous_coe
 #align upper_half_plane.continuous_im UpperHalfPlane.continuous_im
+-/
 
 instance : TopologicalSpace.SecondCountableTopology ℍ :=
   TopologicalSpace.Subtype.secondCountableTopology _ _
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit f0c8bf9245297a541f468be517f1bde6195105e9
+! leanprover-community/mathlib commit 57f9349f2fe19d2de7207e99b0341808d977cdcf
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,7 +14,6 @@ import Mathbin.Analysis.Convex.Normed
 import Mathbin.Analysis.Convex.Complex
 import Mathbin.Analysis.Complex.ReImTopology
 import Mathbin.Topology.Homotopy.Contractible
-import Mathbin.Geometry.Manifold.ContMdiffMfderiv
 
 /-!
 # Topology on the upper half plane
@@ -28,7 +27,7 @@ noncomputable section
 
 open Set Filter Function TopologicalSpace Complex
 
-open scoped Filter Topology UpperHalfPlane Manifold
+open scoped Filter Topology UpperHalfPlane
 
 namespace UpperHalfPlane
 
@@ -80,22 +79,5 @@ instance : NoncompactSpace ℍ := by
 instance : LocallyCompactSpace ℍ :=
   openEmbedding_coe.LocallyCompactSpace
 
-instance UpperHalfPlane.chartedSpace : ChartedSpace ℂ ℍ :=
-  UpperHalfPlane.openEmbedding_coe.singletonChartedSpace
-#align upper_half_plane.upper_half_plane.charted_space UpperHalfPlane.UpperHalfPlane.chartedSpace
-
-instance UpperHalfPlane.smoothManifoldWithCorners : SmoothManifoldWithCorners 𝓘(ℂ) ℍ :=
-  UpperHalfPlane.openEmbedding_coe.singleton_smoothManifoldWithCorners 𝓘(ℂ)
-#align upper_half_plane.upper_half_plane.smooth_manifold_with_corners UpperHalfPlane.UpperHalfPlane.smoothManifoldWithCorners
-
-/-- The inclusion map `ℍ → ℂ` is a smooth map of manifolds. -/
-theorem smooth_coe : Smooth 𝓘(ℂ) 𝓘(ℂ) (coe : ℍ → ℂ) := fun x => contMdiffAt_extChartAt
-#align upper_half_plane.smooth_coe UpperHalfPlane.smooth_coe
-
-/-- The inclusion map `ℍ → ℂ` is a differentiable map of manifolds. -/
-theorem mdifferentiable_coe : Mdifferentiable 𝓘(ℂ) 𝓘(ℂ) (coe : ℍ → ℂ) :=
-  smooth_coe.Mdifferentiable
-#align upper_half_plane.mdifferentiable_coe UpperHalfPlane.mdifferentiable_coe
-
 end UpperHalfPlane
 
Diff
@@ -74,7 +74,7 @@ instance : NoncompactSpace ℍ := by
   refine' ⟨fun h => _⟩
   have : IsCompact (Complex.im ⁻¹' Ioi 0) := isCompact_iff_isCompact_univ.2 h
   replace := this.is_closed.closure_eq
-  rw [closure_preimage_im, closure_Ioi, Set.ext_iff] at this
+  rw [closure_preimage_im, closure_Ioi, Set.ext_iff] at this 
   exact absurd ((this 0).1 left_mem_Ici) (lt_irrefl _)
 
 instance : LocallyCompactSpace ℍ :=
Diff
@@ -28,7 +28,7 @@ noncomputable section
 
 open Set Filter Function TopologicalSpace Complex
 
-open Filter Topology UpperHalfPlane Manifold
+open scoped Filter Topology UpperHalfPlane Manifold
 
 namespace UpperHalfPlane
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit fe44cd36149e675eb5dec87acc7e8f1d6568e081
+! leanprover-community/mathlib commit f0c8bf9245297a541f468be517f1bde6195105e9
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,7 +14,6 @@ import Mathbin.Analysis.Convex.Normed
 import Mathbin.Analysis.Convex.Complex
 import Mathbin.Analysis.Complex.ReImTopology
 import Mathbin.Topology.Homotopy.Contractible
-import Mathbin.Geometry.Manifold.Mfderiv
 import Mathbin.Geometry.Manifold.ContMdiffMfderiv
 
 /-!
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit fe44cd36149e675eb5dec87acc7e8f1d6568e081
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,8 @@ import Mathbin.Analysis.Convex.Normed
 import Mathbin.Analysis.Convex.Complex
 import Mathbin.Analysis.Complex.ReImTopology
 import Mathbin.Topology.Homotopy.Contractible
+import Mathbin.Geometry.Manifold.Mfderiv
+import Mathbin.Geometry.Manifold.ContMdiffMfderiv
 
 /-!
 # Topology on the upper half plane
@@ -27,7 +29,7 @@ noncomputable section
 
 open Set Filter Function TopologicalSpace Complex
 
-open Filter Topology UpperHalfPlane
+open Filter Topology UpperHalfPlane Manifold
 
 namespace UpperHalfPlane
 
@@ -79,5 +81,22 @@ instance : NoncompactSpace ℍ := by
 instance : LocallyCompactSpace ℍ :=
   openEmbedding_coe.LocallyCompactSpace
 
+instance UpperHalfPlane.chartedSpace : ChartedSpace ℂ ℍ :=
+  UpperHalfPlane.openEmbedding_coe.singletonChartedSpace
+#align upper_half_plane.upper_half_plane.charted_space UpperHalfPlane.UpperHalfPlane.chartedSpace
+
+instance UpperHalfPlane.smoothManifoldWithCorners : SmoothManifoldWithCorners 𝓘(ℂ) ℍ :=
+  UpperHalfPlane.openEmbedding_coe.singleton_smoothManifoldWithCorners 𝓘(ℂ)
+#align upper_half_plane.upper_half_plane.smooth_manifold_with_corners UpperHalfPlane.UpperHalfPlane.smoothManifoldWithCorners
+
+/-- The inclusion map `ℍ → ℂ` is a smooth map of manifolds. -/
+theorem smooth_coe : Smooth 𝓘(ℂ) 𝓘(ℂ) (coe : ℍ → ℂ) := fun x => contMdiffAt_extChartAt
+#align upper_half_plane.smooth_coe UpperHalfPlane.smooth_coe
+
+/-- The inclusion map `ℍ → ℂ` is a differentiable map of manifolds. -/
+theorem mdifferentiable_coe : Mdifferentiable 𝓘(ℂ) 𝓘(ℂ) (coe : ℍ → ℂ) :=
+  smooth_coe.Mdifferentiable
+#align upper_half_plane.mdifferentiable_coe UpperHalfPlane.mdifferentiable_coe
+
 end UpperHalfPlane
 
Diff
@@ -67,7 +67,7 @@ instance : ContractibleSpace ℍ :=
   (convex_halfspace_im_gt 0).ContractibleSpace ⟨I, one_pos.trans_eq I_im.symm⟩
 
 instance : LocPathConnectedSpace ℍ :=
-  loc_path_connected_of_isOpen <| isOpen_lt continuous_const Complex.continuous_im
+  locPathConnected_of_isOpen <| isOpen_lt continuous_const Complex.continuous_im
 
 instance : NoncompactSpace ℍ := by
   refine' ⟨fun h => _⟩
Diff
@@ -64,7 +64,7 @@ instance : NormalSpace ℍ :=
   normalSpaceOfT3SecondCountable ℍ
 
 instance : ContractibleSpace ℍ :=
-  (convex_halfspace_im_gt 0).ContractibleSpace ⟨I, one_pos.trans_eq i_im.symm⟩
+  (convex_halfspace_im_gt 0).ContractibleSpace ⟨I, one_pos.trans_eq I_im.symm⟩
 
 instance : LocPathConnectedSpace ℍ :=
   loc_path_connected_of_isOpen <| isOpen_lt continuous_const Complex.continuous_im
Diff
@@ -64,7 +64,7 @@ instance : NormalSpace ℍ :=
   normalSpaceOfT3SecondCountable ℍ
 
 instance : ContractibleSpace ℍ :=
-  (convex_halfspace_im_gt 0).ContractibleSpace ⟨i, one_pos.trans_eq i_im.symm⟩
+  (convex_halfspace_im_gt 0).ContractibleSpace ⟨I, one_pos.trans_eq i_im.symm⟩
 
 instance : LocPathConnectedSpace ℍ :=
   loc_path_connected_of_isOpen <| isOpen_lt continuous_const Complex.continuous_im

Changes in mathlib4

mathlib3
mathlib4
feat(Complex/UpperHalfPlane): add vertical strips (#12443)

We define the vertical strips that are needed for proving Eisenstein series are modular forms #10377 . We also add the definition of sqrt{-1} as an elements of the upper half plane. Note that this is no longer needed for the modular forms PRs but its good to have.

Sorry about the typo in the PR name, its not my day!

Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk>

Diff
@@ -74,4 +74,23 @@ instance : NoncompactSpace ℍ := by
 instance : LocallyCompactSpace ℍ :=
   openEmbedding_coe.locallyCompactSpace
 
+section strips
+
+/-- The vertical strip of width `A` and height `B`, defined by elements whose real part has absolute
+value less than or equal to `A` and imaginary part is at least `B`. -/
+def verticalStrip (A B : ℝ) := {z : ℍ | |z.re| ≤ A ∧ B ≤ z.im}
+
+theorem mem_verticalStrip_iff (A B : ℝ) (z : ℍ) : z ∈ verticalStrip A B ↔ |z.re| ≤ A ∧ B ≤ z.im :=
+  Iff.rfl
+
+lemma subset_verticalStrip_of_isCompact {K : Set ℍ} (hK : IsCompact K) :
+    ∃ A B : ℝ, 0 < B ∧ K ⊆ verticalStrip A B := by
+  rcases K.eq_empty_or_nonempty with rfl | hne
+  · exact ⟨1, 1, Real.zero_lt_one, empty_subset _⟩
+  obtain ⟨u, _, hu⟩ := hK.exists_isMaxOn hne (_root_.continuous_abs.comp continuous_re).continuousOn
+  obtain ⟨v, _, hv⟩ := hK.exists_isMinOn hne continuous_im.continuousOn
+  exact ⟨|re u|, im v, v.im_pos, fun k hk ↦ ⟨isMaxOn_iff.mp hu _ hk, isMinOn_iff.mp hv _ hk⟩⟩
+
+end strips
+
 end UpperHalfPlane
chore: move TopologicalSpace.SecondCountableTopology into the root namespace (#8186)

All the other properties of topological spaces like T0Space or RegularSpace are in the root namespace. Many files were opening TopologicalSpace just for the sake of shortening TopologicalSpace.SecondCountableTopology...

Diff
@@ -51,7 +51,7 @@ theorem continuous_im : Continuous im :=
   Complex.continuous_im.comp continuous_coe
 #align upper_half_plane.continuous_im UpperHalfPlane.continuous_im
 
-instance : TopologicalSpace.SecondCountableTopology ℍ :=
+instance : SecondCountableTopology ℍ :=
   TopologicalSpace.Subtype.secondCountableTopology _
 
 instance : T3Space ℍ := Subtype.t3Space
refactor: split NormalSpace into NormalSpace and T4Space (#7072)
  • Rename NormalSpace to T4Space.
  • Add NormalSpace, a version without the T1Space assumption.
  • Adjust some theorems.
  • Supersedes thus closes #6892.
  • Add some instance cycles, see #2030
Diff
@@ -54,11 +54,9 @@ theorem continuous_im : Continuous im :=
 instance : TopologicalSpace.SecondCountableTopology ℍ :=
   TopologicalSpace.Subtype.secondCountableTopology _
 
-instance : T3Space ℍ :=
-  Subtype.t3Space
+instance : T3Space ℍ := Subtype.t3Space
 
-instance : NormalSpace ℍ :=
-  normalSpaceOfT3SecondCountable ℍ
+instance : T4Space ℍ := inferInstance
 
 instance : ContractibleSpace ℍ :=
   (convex_halfspace_im_gt 0).contractibleSpace ⟨I, one_pos.trans_eq I_im.symm⟩
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.complex.upper_half_plane.topology
-! leanprover-community/mathlib commit 57f9349f2fe19d2de7207e99b0341808d977cdcf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Complex.UpperHalfPlane.Basic
 import Mathlib.Analysis.Convex.Contractible
@@ -15,6 +10,8 @@ import Mathlib.Analysis.Convex.Complex
 import Mathlib.Analysis.Complex.ReImTopology
 import Mathlib.Topology.Homotopy.Contractible
 
+#align_import analysis.complex.upper_half_plane.topology from "leanprover-community/mathlib"@"57f9349f2fe19d2de7207e99b0341808d977cdcf"
+
 /-!
 # Topology on the upper half plane
 
feat: port Analysis.Complex.UpperHalfPlane.Topology (#5530)

Dependencies 12 + 817

818 files ported (98.6%)
358546 lines ported (98.5%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file