Documentation

Hironaka.Scheme.BlowUp.GlueIdealSheaf

Gluing of ideal sheaves along an open cover #

Given an open cover 𝒰 of X and closed subschemes V(I i) ⊆ 𝒰.X i that agree on the overlaps — (I i).comap (pullback.fst) = (I j).comap (pullback.snd) on 𝒰.X i ×_X 𝒰.X j — there is a unique closed subscheme Z ⊆ X with Z ∩ 𝒰.X i = V(I i), i.e. a unique ideal sheaf glue 𝒰 I compat with (glue 𝒰 I compat).comap (𝒰.f i) = I i. This is the gluing of the local centres in Kollár's construction of a blow-up sequence functor from its restrictions to the members of a cover: "the subschemes Z'₀ᵢ ⊂ Uᵢ glue together to a subscheme Z₀ ⊂ X" [Kol07, Proposition 37, proof].

The construction #

Mathlib's IdealSheafData is a family of ideals on the affine opens with a localization compatibility, and for an infinite cover the naive sectionwise construction runs into the non-commutation of infinite intersections with localization; so the closed subscheme is glued as a scheme, by the relative gluing lemma [TSPA, Tag 01LH], and its ideal sheaf is read off as a kernel.

  1. A locally directed refinement of the cover. The index type GlueIdx 𝒰 is the set of pairs p = (i, V) with V an affine open of 𝒰.X i, preordered by the images 𝒰.f i ''ᵁ V ⊆ X. The cover glueCover 𝒰 of X by these images (as the schemes V with V.ι ≫ 𝒰.f i) is locally directed in Mathlib's sense (Scheme.Cover.LocallyDirected): for p ≤ q the open immersion V_p ⟶ V_q over X is the transition map, and two members meeting at a point contain a common affine member around it (the affine basic opens form a basis).
  2. The relative gluing datum. Over p = (i, V) put the closed subscheme Z_p := V((I i).comap V.ι) of V; for p ≤ q the transition map carries Z_p into Z_q because the two ideal sheaves agree there — this is exactly the compatibility hypothesis, transported to V_p through V_p ⟶ 𝒰.X i ×_X 𝒰.X j (comap_transition) — and the square Z_p → Z_q over V_p → V_q is cartesian because a closed subscheme is its ideal sheaf (Mathlib's isPullback_of_isClosedImmersion). This is a RelativeGluingData, so Mathlib glues the Z_p to a scheme glueScheme over X (glueι) whose restriction to each member V_p is Z_p (isPullback_natTrans_ι_toBase).
  3. The ideal sheaf. glueι is a closed immersion because it is one over every member of an open cover (closed immersions are local on the target), and glue 𝒰 I compat := glueι.ker. Its inverse image on 𝒰.X i is I i: on every affine open V ⊆ 𝒰.X i both sides pull back to the kernel of Z_{(i,V)} ⟶ V, which is (I i).comap V.ι (ker_fst_of_isClosedImmersion, ker_subschemeι), and an ideal sheaf is determined by its restrictions to an open cover, itself a consequence of extensionality by stalks (ext_stalkIdeal of Hironaka.Scheme.BlowUp.Descent; the stalk maps of an open immersion are isomorphisms). Uniqueness is the same extensionality.

Nothing is assumed about 𝒰 beyond being an open cover indexed in the universe of X; the members and their overlaps may be non-affine and infinite in number.

theorem AlgebraicGeometry.Scheme.IdealSheafData.stalkIdeal_eq_of_comap_eq {X Y : Scheme} (f : Y ⟶ X) [IsOpenImmersion f] {J K : X.IdealSheafData} (h : J.comap f = K.comap f) (y : ↥Y) :
J.stalkIdeal (f y) = K.stalkIdeal (f y)

Along an open immersion the stalk maps are isomorphisms, so equal inverse images give equal stalk ideals at the points of the image.

theorem AlgebraicGeometry.Scheme.IdealSheafData.ext_of_openCover {X : Scheme} {J K : X.IdealSheafData} (𝒱 : X.OpenCover) (h : ∀ (i : 𝒱.I₀), J.comap (𝒱.f i) = K.comap (𝒱.f i)) :
J = K

An ideal sheaf is determined by its inverse images along the members of an open cover (a consequence of extensionality by stalks, ext_stalkIdeal).

theorem AlgebraicGeometry.Scheme.Opens.ι_mem {Z : Scheme} {U : Z.Opens} (x : ↥↑U) :
U.ι x ∈ U

A point of an open subscheme, viewed in the ambient scheme, lies in the open.

The compatibility of the local closed subschemes on the pairwise overlaps 𝒰.X i ×_X 𝒰.X j (the condition (37.2) in the proof of [Kol07, Proposition 37]).

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

    The index type of the locally directed refinement: pairs (i, V) of a member of the cover and an affine open of it.

    • i : 𝒰.I₀

      The member of the cover.

    • V : ↑(𝒰.X self.i).affineOpens

      An affine open of the member.

    Instances For
      @[reducible, inline]

      The open subset of X covered by the index p = (i, V): the image of V under 𝒰.f i.

      Equations
      Instances For
        @[reducible, inline]

        The member scheme of the index p: the affine open V itself.

        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.toX {X : Scheme} {𝒰 : X.OpenCover} (p : GlueIdx 𝒰) :

          The map of the member to X: V ⟶ 𝒰.X i ⟶ X.

          Equations
          Instances For

            The affine open of the index, as an IsAffineOpen fact.

            theorem AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.toX_apply {X : Scheme} {𝒰 : X.OpenCover} (p : GlueIdx 𝒰) (y : ↥p.scheme) :
            p.toX y = (𝒰.f p.i) ((↑p.V).ι y)
            noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.trans {X : Scheme} {𝒰 : X.OpenCover} {p q : GlueIdx 𝒰} (h : p ≤ q) :

            The transition map V_p ⟶ V_q over X for p ≤ q.

            Equations
            Instances For
              theorem AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.exists_toX_eq {X : Scheme} {𝒰 : X.OpenCover} (x : ↥X) :
              ∃ (p : GlueIdx 𝒰) (y : ↥p.scheme), p.toX y = x

              The members of the refinement cover X: every point lies in some 𝒰.X i, and every point of 𝒰.X i lies in some affine open of it.

              @[reducible, inline]

              The locally directed refinement of 𝒰: the affine opens of the members, mapping to X. An abbrev, so that its index type is GlueIdx 𝒰 on the nose.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.exists_common {X : Scheme} {𝒰 : X.OpenCover} {p q : GlueIdx 𝒰} (xp : ↥p.scheme) (xq : ↥q.scheme) (hx : p.toX xp = q.toX xq) :
                ∃ (k : GlueIdx 𝒰) (hkp : k ≤ p) (hkq : k ≤ q) (y : ↥k.scheme), (trans hkp) y = xp ∧ (trans hkq) y = xq

                Two points of members with the same image in X lie in a common smaller member: an affine basic open of V_p inside V_p ∩ (𝒰.f p.i)⁻¹(𝒰.f q.i ''ᵁ V_q) around the point.

                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[reducible, inline]
                noncomputable abbrev AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.ideal {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (p : GlueIdx 𝒰) :

                The local closed subscheme over the index p = (i, V): V(I i) ∩ V.

                Equations
                Instances For
                  theorem AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.comap_trans {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) {p q : GlueIdx 𝒰} (h : p ≤ q) :
                  (ideal I q).comap (trans h) = ideal I p

                  The compatibility hypothesis transported to a transition map: for p ≤ q the ideal of q pulls back to the ideal of p, through V_p ⟶ 𝒰.X i ×_X 𝒰.X j.

                  noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.GlueIdx.subschemeTrans {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) {p q : GlueIdx 𝒰} (h : p ≤ q) :

                  The transition map of the closed subschemes over p ≤ q.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.glueFunctor {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                    The closed subschemes Z_p as a functor on the index preorder.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.glueNatTrans {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                      The closed immersions Z_p ⟶ V_p as a natural transformation to the cover's diagram.

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

                        The squares Z_p → Z_q over V_p → V_q are cartesian: a closed subscheme is its ideal sheaf (Mathlib's isPullback_of_isClosedImmersion), and the ideals match by comap_trans.

                        noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.glueRelData {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                        The relative gluing datum of the local closed subschemes [TSPA, Tag 01LH].

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[reducible, inline]
                          noncomputable abbrev AlgebraicGeometry.Scheme.IdealSheafData.glueScheme {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                          The glued closed subscheme Z ⊆ X as a scheme.

                          Equations
                          Instances For
                            noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.glueι {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :
                            glueScheme I compat ⟶ X

                            The structure map Z ⟶ X.

                            Equations
                            Instances For

                              The base change of Z ⟶ X to a member V_p is the closed immersion Z_p ⟶ V_p.

                              instance AlgebraicGeometry.Scheme.IdealSheafData.isClosedImmersion_glueι {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                              Z ⟶ X is a closed immersion: it is one over every member of the refinement cover.

                              noncomputable def AlgebraicGeometry.Scheme.IdealSheafData.glue {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) :

                              The glued ideal sheaf, the kernel of the closed immersion of the glued subscheme [Kol07, Proposition 37, proof].

                              Equations
                              Instances For
                                theorem AlgebraicGeometry.Scheme.IdealSheafData.glue_comap_toX {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) (p : GlueIdx 𝒰) :
                                (glue I compat).comap p.toX = GlueIdx.ideal I p

                                On a member V_p the glued ideal sheaf restricts to Z_p's ideal.

                                theorem AlgebraicGeometry.Scheme.IdealSheafData.glue_comap {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) (i : 𝒰.I₀) :
                                (glue I compat).comap (𝒰.f i) = I i

                                Z ∩ 𝒰.X i = V(I i) — the glued ideal sheaf restricts to I i on each member of the cover.

                                theorem AlgebraicGeometry.Scheme.IdealSheafData.glue_unique {X : Scheme} {𝒰 : X.OpenCover} (I : (i : 𝒰.I₀) → (𝒰.X i).IdealSheafData) (compat : GlueCompat 𝒰 I) (J : X.IdealSheafData) (hJ : ∀ (i : 𝒰.I₀), J.comap (𝒰.f i) = I i) :
                                J = glue I compat

                                Uniqueness — an ideal sheaf restricting to I i on every member is the glued one.