Documentation

TauCeti.Geometry.Manifold.Instances.PunctureFilling

The charted-space structure on a puncture filling #

Let E be a space charted over ℂ and let φ i : 𝔻* → E be open embeddings of the punctured unit disc 𝔻* = ball 0 1 \ {0}. Their puncture filling TauCeti.PunctureFilling φ adds the centre of each punctured disc. It is again locally homeomorphic to ℂ (TauCeti.PunctureFilling.chartedSpace): at a point of E the chart is the chart of E there, and at an added point center φ i it is the inverse of the filled disc disc φ i, which sends center φ i to 0.

Away from the added points, the chart at center φ i is the inverse of φ i read as a chart of E, TauCeti.PunctureFilling.puncturedDiscChart. When every such chart is compatible with the charts of E for a structure groupoid closed under restriction, the charts of the filling are compatible for that groupoid too (TauCeti.PunctureFilling.hasGroupoid); in particular, filling the punctures of a C^n manifold along punctured discs which are C^n diffeomorphisms onto their images gives a C^n manifold (TauCeti.PunctureFilling.isManifold). No removable singularity theorem is needed: the only chart containing center φ i is the chart at that point, so every other transition map lives inside E.

This is how the compactification of a finite cover of a punctured Riemann surface receives its charts: E carries the charts pulled back along the covering map, and the punctured discs are the components of the preimages of punctured discs about the punctures. The charts are holomorphically compatible once these components are biholomorphic to 𝔻*.

Main declarations #

Implementation notes #

The charts are assembled by hand, as Mathlib assembles those of a disjoint union (ChartedSpace.sum), rather than through TauCeti.chartedSpaceOfIsOpenEmbedding: that construction picks the piece containing a point by choice, so the chart at a point of E could be a filled disc rather than the chart of E, and its gluing condition asks for maps defined on all of the unit disc, which φ i is not.

References #

noncomputable def TauCeti.PunctureFilling.puncturedDiscChart {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} {i : ι} (hi : Topology.IsOpenEmbedding (φ i)) :

The inverse of an open embedding φ i : 𝔻* → E of the punctured unit disc, as a chart of E with values in ℂ: its source is the image of φ i and its target is 𝔻*.

Instances For
    @[simp]
    theorem TauCeti.PunctureFilling.puncturedDiscChart_source {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} {i : ι} (hi : Topology.IsOpenEmbedding (φ i)) :
    @[simp]
    theorem TauCeti.PunctureFilling.puncturedDiscChart_target {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} {i : ι} (hi : Topology.IsOpenEmbedding (φ i)) :
    @[simp]
    theorem TauCeti.PunctureFilling.puncturedDiscChart_apply {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} {i : ι} (hi : Topology.IsOpenEmbedding (φ i)) (w : ↑(Metric.ball 0 1 \ {0})) :
    ↑(puncturedDiscChart hi) (φ i w) = ↑w
    @[simp]
    theorem TauCeti.PunctureFilling.puncturedDiscChart_symm_apply {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} {i : ι} (hi : Topology.IsOpenEmbedding (φ i)) (w : ↑(Metric.ball 0 1 \ {0})) :
    ↑(puncturedDiscChart hi).symm ↑w = φ i w

    The charts #

    @[instance_reducible]
    noncomputable def TauCeti.PunctureFilling.chartedSpace {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] :

    The puncture filling is locally homeomorphic to ℂ. If E is charted over ℂ and the punctured discs φ i are open embeddings, the chart at a point of E is the chart of E there, and the chart at the added point center φ i is the inverse of the filled disc disc φ i.

    Instances For
      theorem TauCeti.PunctureFilling.chartAt_incl {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (x : E) :

      The chart of the puncture filling at a point of E is the chart of E at that point.

      The chart of the puncture filling at the added point center φ i is the inverse of the i-th filled disc.

      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_incl_source {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (x : E) :
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_incl_target {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (x : E) :
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_incl_apply_incl {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (x y : E) :
      ↑(chartAt ℂ (incl φ x)) (incl φ y) = ↑(chartAt ℂ x) y
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_incl_symm_apply {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (x : E) (z : ℂ) :
      ↑(chartAt ℂ (incl φ x)).symm z = incl φ (↑(chartAt ℂ x).symm z)
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_center_source {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (i : ι) :
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_center_target {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (i : ι) :
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_center_apply_disc {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (i : ι) (z : ↑(Metric.ball 0 1)) :
      ↑(chartAt ℂ (center φ i)) (disc φ i z) = ↑z
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_center_apply_center {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (i : ι) :
      ↑(chartAt ℂ (center φ i)) (center φ i) = 0
      @[simp]
      theorem TauCeti.PunctureFilling.chartAt_center_symm_apply {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (i : ι) (z : ↑(Metric.ball 0 1)) :
      ↑(chartAt ℂ (center φ i)).symm ↑z = disc φ i z
      theorem TauCeti.PunctureFilling.mem_atlas_iff {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] {e : OpenPartialHomeomorph (PunctureFilling φ) ℂ} :
      e ∈ atlas ℂ (PunctureFilling φ) ↔ (∃ (x : E), e = chartAt ℂ (incl φ x)) ∨ ∃ (i : ι), e = chartAt ℂ (center φ i)

      The atlas of the puncture filling consists of the charts of E and the inverses of the filled discs.

      Compatibility of the charts #

      theorem TauCeti.PunctureFilling.hasGroupoid {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] (G : StructureGroupoid ℂ) [ClosedUnderRestriction G] [HasGroupoid E G] (hG : ∀ (i : ι), puncturedDiscChart ⋯ ∈ StructureGroupoid.maximalAtlas E G) :

      The charts of a puncture filling are compatible for a structure groupoid G closed under restriction, as soon as the charts of E are and the inverse of every punctured disc φ i is compatible with them.

      theorem TauCeti.PunctureFilling.isManifold {E : Type u_1} {ι : Type u_2} [TopologicalSpace E] {φ : ι → ↑(Metric.ball 0 1 \ {0}) → E} (hφ : ∀ (i : ι), Topology.IsOpenEmbedding (φ i)) [ChartedSpace ℂ E] {𝕜 : Type u_3} [NontriviallyNormedField 𝕜] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {I : ModelWithCorners 𝕜 F ℂ} {n : WithTop ℕ∞} [IsManifold I n E] (hI : ∀ (i : ι), puncturedDiscChart ⋯ ∈ IsManifold.maximalAtlas I n E) :

      Filling the punctures of a C^n manifold gives a C^n manifold, as soon as the punctured discs φ i are C^n diffeomorphisms onto their images, that is, their inverses belong to the maximal atlas of E.