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 #
algebraic_geometry.PresheafedSpace.glue_data: A structure containing the family of gluing data.category_theory.glue_data.glued: The glued presheafed space. This is defined as the multicoequalizer of∐ V i j ⇉ ∐ U i, so that the general colimit API can be used.category_theory.glue_data.ι: The immersionι i : U i ⟶ gluedfor eachi : J.
Main results #
algebraic_geometry.PresheafedSpace.glue_data.ι_is_open_immersion: The mapι i : U i ⟶ gluedis an open immersion for eachi : J.algebraic_geometry.PresheafedSpace.glue_data.ι_jointly_surjective: The underlying maps ofι i : U i ⟶ gluedare jointly surjective.algebraic_geometry.PresheafedSpace.glue_data.V_pullback_cone_is_limit:V i jis the pullback (intersection) ofU iandU jover the glued space.
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 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 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
ι_inv_app_π_app : Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_V, U_V) for each V in the gluing diagram.
We will refer to
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.
- to_glue_data : category_theory.glue_data (algebraic_geometry.PresheafedSpace C)
- f_open : ∀ (i j : self.to_glue_data.J), algebraic_geometry.PresheafedSpace.is_open_immersion (self.to_glue_data.f i j)
A family of gluing data consists of
- An index type
J - A presheafed space
U ifor eachi : J. - A presheafed space
V i jfor eachi j : J. (Note that this isJ × J → PresheafedSpace Crather thanJ → J → PresheafedSpace Cto connect to the limits library easier.) - An open immersion
f i j : V i j ⟶ U ifor eachi j : ι. - A transition map
t i j : V i j ⟶ V j ifor eachi j : ι. such that f i iis an isomorphism.t i iis the identity.V i j ×[U i] V i k ⟶ V i j ⟶ V j ifactors throughV j k ×[U j] V j i ⟶ V j ivia somet' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.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 algebraic_geometry.PresheafedSpace.glue_data
- algebraic_geometry.PresheafedSpace.glue_data.has_sizeof_inst
The glue data of topological spaces associated to a family of glue data of PresheafedSpaces.
The red and the blue arrows in
commute.
We can prove the eq along with the lemma. Thus this is bundled together here, and the
lemma itself is separated below.
The red and the blue arrows in
commute.
(Implementation). The map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_{U_j}, 𝖣.ι j ⁻¹' (𝖣.ι i '' U))
Equations
- D.opens_image_preimage_map i j U = (D.to_glue_data.f i j).c.app (opposite.op U) ≫ (D.to_glue_data.t j i).c.app ((topological_space.opens.map (D.to_glue_data.f i j).base).op.obj (opposite.op U)) ≫ _.inv_app (opposite.unop ((topological_space.opens.map (D.to_glue_data.t j i).base).op.obj ((topological_space.opens.map (D.to_glue_data.f i j).base).op.obj (opposite.op U)))) ≫ (D.to_glue_data.U j).presheaf.map (category_theory.eq_to_hom _).op
The red and the blue arrows in
commute.
(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.
(Implementation)
The projection from the limit of diagram_over_open to a component of D.U j.
(Implementation) We construct the map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_V, U_V) for each V in the gluing
diagram. We will lift these maps into ι_inv_app.
Equations
- D.ι_inv_app_π_app U j = j.cases_on (λ (j : D.to_glue_data.diagram.L), prod.cases_on j (λ (j k : D.to_glue_data.J), D.opens_image_preimage_map i j U ≫ (D.to_glue_data.f j k).c.app (opposite.op ((topological_space.opens.map (D.to_glue_data.ι j).base).obj (_.functor.obj U))) ≫ (D.to_glue_data.V (j, k)).presheaf.map (category_theory.eq_to_hom _))) (λ (j : D.to_glue_data.diagram.R), D.opens_image_preimage_map i j U)
(Implementation) The natural map Γ(𝒪_{U_i}, U) ⟶ Γ(𝒪_X, 𝖣.ι i '' U).
This forms the inverse of (𝖣.ι i).c.app (op U).
Equations
- D.ι_inv_app U = category_theory.limits.limit.lift (D.diagram_over_open U) {X := (D.to_glue_data.U i).presheaf.obj (opposite.op U), π := {app := λ (j : (category_theory.limits.walking_multispan D.to_glue_data.diagram.fst_from D.to_glue_data.diagram.snd_from)ᵒᵖ), D.ι_inv_app_π_app U (opposite.unop j), naturality' := _}}
ι_inv_app is the left inverse of D.ι i on U.
The eq_to_hom given by ι_inv_app_π.
ι_inv_app is the right inverse of D.ι i on U.
ι_inv_app is the 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
- D.V_pullback_cone_is_limit i j = (D.to_glue_data.V_pullback_cone i j).is_limit_aux' (λ (s : category_theory.limits.pullback_cone (D.to_glue_data.ι i) (D.to_glue_data.ι j)), ⟨algebraic_geometry.PresheafedSpace.is_open_immersion.lift (D.to_glue_data.f i j) s.fst _, _⟩)
- to_glue_data : category_theory.glue_data (algebraic_geometry.SheafedSpace C)
- f_open : ∀ (i j : self.to_glue_data.J), algebraic_geometry.SheafedSpace.is_open_immersion (self.to_glue_data.f i j)
A family of gluing data consists of
- An index type
J - A sheafed space
U ifor eachi : J. - A sheafed space
V i jfor eachi j : J. (Note that this isJ × J → SheafedSpace Crather thanJ → J → SheafedSpace Cto connect to the limits library easier.) - An open immersion
f i j : V i j ⟶ U ifor eachi j : ι. - A transition map
t i j : V i j ⟶ V j ifor eachi j : ι. such that f i iis an isomorphism.t i iis the identity.V i j ×[U i] V i k ⟶ V i j ⟶ V j ifactors throughV j k ×[U j] V j i ⟶ V j ivia somet' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.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 algebraic_geometry.SheafedSpace.glue_data
- algebraic_geometry.SheafedSpace.glue_data.has_sizeof_inst
The glue data of presheafed spaces associated to a family of glue data of sheafed spaces.
The gluing as sheafed spaces is isomorphic to the gluing as presheafed spaces.
The following diagram is a pullback, i.e. Vᵢⱼ is the intersection of Uᵢ and Uⱼ in X.
Vᵢⱼ ⟶ Uᵢ | | ↓ ↓ Uⱼ ⟶ X
- to_glue_data : category_theory.glue_data algebraic_geometry.LocallyRingedSpace
- f_open : ∀ (i j : self.to_glue_data.J), algebraic_geometry.LocallyRingedSpace.is_open_immersion (self.to_glue_data.f i j)
A family of gluing data consists of
- An index type
J - A locally ringed space
U ifor eachi : J. - A locally ringed space
V i jfor eachi j : J. (Note that this isJ × J → LocallyRingedSpacerather thanJ → J → LocallyRingedSpaceto connect to the limits library easier.) - An open immersion
f i j : V i j ⟶ U ifor eachi j : ι. - A transition map
t i j : V i j ⟶ V j ifor eachi j : ι. such that f i iis an isomorphism.t i iis the identity.V i j ×[U i] V i k ⟶ V i j ⟶ V j ifactors throughV j k ×[U j] V j i ⟶ V j ivia somet' : V i j ×[U i] V i k ⟶ V j k ×[U j] V j i.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 algebraic_geometry.LocallyRingedSpace.glue_data
- algebraic_geometry.LocallyRingedSpace.glue_data.has_sizeof_inst
The glue data of ringed spaces associated to a family of glue data of locally ringed spaces.
The gluing as locally ringed spaces is isomorphic to the gluing as ringed spaces.
The following diagram is a pullback, i.e. Vᵢⱼ is the intersection of Uᵢ and Uⱼ in X.
Vᵢⱼ ⟶ Uᵢ | | ↓ ↓ Uⱼ ⟶ X