Documentation

Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing

Gluing Structured spaces #

Given a family of gluing data of structured spaces (presheafed spaces, sheafed spaces, or locally ringed spaces), we may glue them together.

The construction should be "sealed" and considered as a black box, while only using the API provided.

Main definitions #

Main results #

Analogous results are also provided for SheafedSpace and LocallyRingedSpace.

Implementation details #

Almost the whole file is dedicated to showing tht ι i is an open immersion. The fact that this is an open embedding of topological spaces follows from Mathlib/Topology/Gluing.lean, and it remains to construct Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_X, ι i '' U) for each U ⊆ U i. Since Γ(𝒪_X, ι i '' U) is the limit of diagram_over_open, the components of the structure sheafs of the spaces in the gluing diagram, we need to construct a map ιInvApp_π_app : Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_V, U_V) for each V in the gluing diagram.

We will refer to this diagram in the following doc strings. The X is the glued space, and the dotted arrow is a partial inverse guaranteed by the fact that it is an open immersion. The map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_{U_j}, _) is given by the composition of the red arrows, and the map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_{V_{jk}}, _) is given by the composition of the blue arrows. To lift this into a map from Γ(𝒪_X, ι i '' U), we also need to show that these commute with the maps in the diagram (the green arrows), which is just a lengthy diagram-chasing.

A family of gluing data consists of

  1. An index type J
  2. A presheafed space U i for each i : J.
  3. A presheafed space V i j for each i j : J. (Note that this is J × J → PresheafedSpace C rather than J → J → PresheafedSpace C to connect to the limits library easier.)
  4. An open immersion f i j : V i j ⟶ U i for each i j : ι.
  5. A transition map t i j : V i j ⟶ V j i for each i j : ι. such that
  6. f i i is an isomorphism.
  7. t i i is the identity.
  8. V i j ×[U i] V i k ⟶ V i j ⟶ V j i factors through V j k ×[U j] V j i ⟶ V j i via some t' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.
  9. t' i j k ≫ t' j k i ≫ t' k i j = 𝟙 _.

We can then glue the spaces U i together by identifying V i j with V j i, such that the U i's are open subspaces of the glued space.

Instances For
    @[reducible, inline]

    The glue data of topological spaces associated to a family of glue data of PresheafedSpaces.

    Equations
    Instances For
      theorem AlgebraicGeometry.PresheafedSpace.GlueData.pullback_base {C : Type u} [CategoryTheory.Category.{v, u} C] (D : AlgebraicGeometry.PresheafedSpace.GlueData C) (i : D.J) (j : D.J) (k : D.J) (S : Set (D.V (i, j))) :
      (CategoryTheory.Limits.pullback.snd (D.f i j) (D.f i k)).base '' ((CategoryTheory.Limits.pullback.fst (D.f i j) (D.f i k)).base ⁻¹' S) = (D.f i k).base ⁻¹' ((D.f i j).base '' S)

      We can prove the eq along with the lemma. Thus this is bundled together here, and the lemma itself is separated below.

      def AlgebraicGeometry.PresheafedSpace.GlueData.opensImagePreimageMap {C : Type u} [CategoryTheory.Category.{v, u} C] (D : AlgebraicGeometry.PresheafedSpace.GlueData C) [CategoryTheory.Limits.HasLimits C] (i : D.J) (j : D.J) (U : TopologicalSpace.Opens (D.U i)) :
      (D.U i).presheaf.obj (Opposite.op U) (D.U j).presheaf.obj (Opposite.op ((TopologicalSpace.Opens.map (D j).base).obj (.functor.obj U)))

      (Implementation). The map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_{U_j}, 𝖣.ι j ⁻¹' (𝖣.ι i '' U))

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem AlgebraicGeometry.PresheafedSpace.GlueData.opensImagePreimageMap_app' {C : Type u} [CategoryTheory.Category.{v, u} C] (D : AlgebraicGeometry.PresheafedSpace.GlueData C) [CategoryTheory.Limits.HasLimits C] (i : D.J) (j : D.J) (k : D.J) (U : TopologicalSpace.Opens (D.U i)) :
        @[reducible, inline]

        (Implementation) Given an open subset of one of the spaces U ⊆ Uᵢ, the sheaf component of the image ι '' U in the glued space is the limit of this diagram.

        Equations
        Instances For
          @[reducible, inline]

          (Implementation) The projection from the limit of diagram_over_open to a component of D.U j.

          Equations
          Instances For

            (Implementation) We construct the map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_V, U_V) for each V in the gluing diagram. We will lift these maps into ιInvApp.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              (Implementation) The natural map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_X, 𝖣.ι i '' U). This forms the inverse of (𝖣.ι i).c.app (op U).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[reducible, inline]

                The eqToHom given by ιInvApp_π.

                Equations
                Instances For
                  theorem AlgebraicGeometry.PresheafedSpace.GlueData.π_ιInvApp_π {C : Type u} [CategoryTheory.Category.{v, u} C] (D : AlgebraicGeometry.PresheafedSpace.GlueData C) [CategoryTheory.Limits.HasLimits C] (i : D.J) (j : D.J) (U : TopologicalSpace.Opens (D.U i)) :
                  CategoryTheory.CategoryStruct.comp (D.diagramOverOpenπ U i) (CategoryTheory.CategoryStruct.comp (D.ιInvAppπEqMap U) (CategoryTheory.CategoryStruct.comp (D.ιInvApp U) (D.diagramOverOpenπ U j))) = D.diagramOverOpenπ U j

                  ιInvApp is the right inverse of D.ι i on U.

                  The following diagram is a pullback, i.e. Vᵢⱼ is the intersection of Uᵢ and Uⱼ in X.

                  Vᵢⱼ ⟶ Uᵢ | | ↓ ↓ Uⱼ ⟶ X

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    A family of gluing data consists of

                    1. An index type J
                    2. A sheafed space U i for each i : J.
                    3. A sheafed space V i j for each i j : J. (Note that this is J × J → SheafedSpace C rather than J → J → SheafedSpace C to connect to the limits library easier.)
                    4. An open immersion f i j : V i j ⟶ U i for each i j : ι.
                    5. A transition map t i j : V i j ⟶ V j i for each i j : ι. such that
                    6. f i i is an isomorphism.
                    7. t i i is the identity.
                    8. V i j ×[U i] V i k ⟶ V i j ⟶ V j i factors through V j k ×[U j] V j i ⟶ V j i via some t' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.
                    9. t' i j k ≫ t' j k i ≫ t' k i j = 𝟙 _.

                    We can then glue the spaces U i together by identifying V i j with V j i, such that the U i's are open subspaces of the glued space.

                    Instances For
                      @[reducible, inline]

                      The glue data of presheafed spaces associated to a family of glue data of sheafed spaces.

                      Equations
                      • D.toPresheafedSpaceGlueData = { toGlueData := D.mapGlueData AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace, f_open := }
                      Instances For
                        @[reducible, inline]

                        The gluing as sheafed spaces is isomorphic to the gluing as presheafed spaces.

                        Equations
                        • D.isoPresheafedSpace = D.gluedIso AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
                        Instances For
                          theorem AlgebraicGeometry.SheafedSpace.GlueData.ι_jointly_surjective {C : Type u} [CategoryTheory.Category.{v, u} C] (D : AlgebraicGeometry.SheafedSpace.GlueData C) [CategoryTheory.Limits.HasLimits C] (x : D.glued.toPresheafedSpace) :
                          ∃ (i : D.J) (y : (D.U i).toPresheafedSpace), (D i).base y = x

                          The following diagram is a pullback, i.e. Vᵢⱼ is the intersection of Uᵢ and Uⱼ in X.

                          Vᵢⱼ ⟶ Uᵢ | | ↓ ↓ Uⱼ ⟶ X

                          Equations
                          • D.vPullbackConeIsLimit i j = D.vPullbackConeIsLimitOfMap AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace i j (D.toPresheafedSpaceGlueData.vPullbackConeIsLimit i j)
                          Instances For

                            A family of gluing data consists of

                            1. An index type J
                            2. A locally ringed space U i for each i : J.
                            3. A locally ringed space V i j for each i j : J. (Note that this is J × J → LocallyRingedSpace rather than J → J → LocallyRingedSpace to connect to the limits library easier.)
                            4. An open immersion f i j : V i j ⟶ U i for each i j : ι.
                            5. A transition map t i j : V i j ⟶ V j i for each i j : ι. such that
                            6. f i i is an isomorphism.
                            7. t i i is the identity.
                            8. V i j ×[U i] V i k ⟶ V i j ⟶ V j i factors through V j k ×[U j] V j i ⟶ V j i via some t' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.
                            9. t' i j k ≫ t' j k i ≫ t' k i j = 𝟙 _.

                            We can then glue the spaces U i together by identifying V i j with V j i, such that the U i's are open subspaces of the glued space.

                            Instances For
                              @[reducible, inline]

                              The glue data of ringed spaces associated to a family of glue data of locally ringed spaces.

                              Equations
                              Instances For
                                @[reducible, inline]

                                The gluing as locally ringed spaces is isomorphic to the gluing as ringed spaces.

                                Equations
                                Instances For
                                  theorem AlgebraicGeometry.LocallyRingedSpace.GlueData.ι_jointly_surjective (D : AlgebraicGeometry.LocallyRingedSpace.GlueData) (x : D.glued.toTopCat) :
                                  ∃ (i : D.J) (y : (D.U i).toTopCat), (D i).val.base y = x

                                  The following diagram is a pullback, i.e. Vᵢⱼ is the intersection of Uᵢ and Uⱼ in X.

                                  Vᵢⱼ ⟶ Uᵢ | | ↓ ↓ Uⱼ ⟶ X

                                  Equations
                                  Instances For