Documentation

Mathlib.AlgebraicGeometry.OpenImmersion

Open immersions of schemes #

@[inline, reducible]

A morphism of Schemes is an open immersion if it is an open immersion as a morphism of LocallyRingedSpaces

Equations
Instances For

    To show that a locally ringed space is a scheme, it suffices to show that it has a jointly surjective family of open immersions from affine schemes.

    Equations
    Instances For
      @[deprecated AlgebraicGeometry.IsOpenImmersion.isOpen_range]

      Alias of AlgebraicGeometry.IsOpenImmersion.isOpen_range.

      An open cover of X consists of a family of open immersions into X, and for each x : X an open immersion (indexed by f x) that covers x.

      This is merely a coverage in the Zariski pretopology, and it would be optimal if we could reuse the existing API about pretopologies, However, the definitions of sieves and grothendieck topologies uses Props, so that the actual open sets and immersions are hard to obtain. Also, since such a coverage in the pretopology usually contains a proper class of immersions, it is quite hard to glue them, reason about finite covers, etc.

      • J : Type v

        index set of an open cover of a scheme X

      • obj : self.JAlgebraicGeometry.Scheme

        the subschemes of an open cover

      • map : (j : self.J) → self.obj j X

        the embedding of subschemes to X

      • f : X.toPresheafedSpaceself.J

        given a point of x : X, f x is the index of the subscheme which contains x

      • Covers : ∀ (x : X.toPresheafedSpace), x Set.range (self.map (self.f x)).val.base

        the subschemes covers X

      • IsOpen : ∀ (x : self.J), AlgebraicGeometry.IsOpenImmersion (self.map x)

        the embedding of subschemes are open immersions

      Instances For

        The affine cover of a scheme.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem AlgebraicGeometry.Scheme.OpenCover.bind_map {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (f : (x : 𝒰.J) → AlgebraicGeometry.Scheme.OpenCover (𝒰.obj x)) (x : (i : 𝒰.J) × (f i).J) :
          (AlgebraicGeometry.Scheme.OpenCover.bind 𝒰 f).map x = CategoryTheory.CategoryStruct.comp ((f x.fst).map x.snd) (𝒰.map x.fst)
          @[simp]
          theorem AlgebraicGeometry.Scheme.OpenCover.bind_obj {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (f : (x : 𝒰.J) → AlgebraicGeometry.Scheme.OpenCover (𝒰.obj x)) (x : (i : 𝒰.J) × (f i).J) :
          (AlgebraicGeometry.Scheme.OpenCover.bind 𝒰 f).obj x = (f x.fst).obj x.snd

          Given an open cover { Uᵢ } of X, and for each Uᵢ an open cover, we may combine these open covers to form an open cover of X.

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

            An isomorphism X ⟶ Y is an open cover of Y.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem AlgebraicGeometry.Scheme.OpenCover.copy_J {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (J : Type u_1) (obj : JAlgebraicGeometry.Scheme) (map : (i : J) → obj i X) (e₁ : J 𝒰.J) (e₂ : (i : J) → obj i 𝒰.obj (e₁ i)) (e₂ : ∀ (i : J), map i = CategoryTheory.CategoryStruct.comp (e₂✝ i).hom (𝒰.map (e₁ i))) :
              (AlgebraicGeometry.Scheme.OpenCover.copy 𝒰 J obj map e₁ e₂✝ e₂).J = J
              @[simp]
              theorem AlgebraicGeometry.Scheme.OpenCover.copy_obj {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (J : Type u_1) (obj : JAlgebraicGeometry.Scheme) (map : (i : J) → obj i X) (e₁ : J 𝒰.J) (e₂ : (i : J) → obj i 𝒰.obj (e₁ i)) (e₂ : ∀ (i : J), map i = CategoryTheory.CategoryStruct.comp (e₂✝ i).hom (𝒰.map (e₁ i))) :
              ∀ (a : J), (AlgebraicGeometry.Scheme.OpenCover.copy 𝒰 J obj map e₁ e₂✝ e₂).obj a = obj a
              @[simp]
              theorem AlgebraicGeometry.Scheme.OpenCover.copy_map {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (J : Type u_1) (obj : JAlgebraicGeometry.Scheme) (map : (i : J) → obj i X) (e₁ : J 𝒰.J) (e₂ : (i : J) → obj i 𝒰.obj (e₁ i)) (e₂ : ∀ (i : J), map i = CategoryTheory.CategoryStruct.comp (e₂✝ i).hom (𝒰.map (e₁ i))) (i : J) :
              (AlgebraicGeometry.Scheme.OpenCover.copy 𝒰 J obj map e₁ e₂✝ e₂).map i = map i
              def AlgebraicGeometry.Scheme.OpenCover.copy {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) (J : Type u_1) (obj : JAlgebraicGeometry.Scheme) (map : (i : J) → obj i X) (e₁ : J 𝒰.J) (e₂ : (i : J) → obj i 𝒰.obj (e₁ i)) (e₂ : ∀ (i : J), map i = CategoryTheory.CategoryStruct.comp (e₂✝ i).hom (𝒰.map (e₁ i))) :

              We construct an open cover from another, by providing the needed fields and showing that the provided fields are isomorphic with the original open cover.

              Equations
              • AlgebraicGeometry.Scheme.OpenCover.copy 𝒰 J obj map e₁ e₂✝ e₂ = { J := J, obj := obj, map := map, f := fun (x : X.toPresheafedSpace) => e₁.symm (𝒰.f x), Covers := , IsOpen := }
              Instances For

                The pushforward of an open cover along an isomorphism.

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

                  Adding an open immersion into an open cover gives another open cover.

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

                    The basic open sets form an affine open cover of Spec R.

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

                      We may bind the basic open sets of an open affine cover to form an affine cover that is also a basis.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem AlgebraicGeometry.Scheme.affineBasisCover_map_range (X : AlgebraicGeometry.Scheme) (x : X.toPresheafedSpace) (r : (Exists.choose )) :
                        Set.range ((AlgebraicGeometry.Scheme.affineBasisCover X).map { fst := x, snd := r }).val.base = ((AlgebraicGeometry.Scheme.affineCover X).map x).val.base '' (PrimeSpectrum.basicOpen r).carrier
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.OpenCover.finiteSubcover_map {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) [H : CompactSpace X.toPresheafedSpace] (x : { x : X.toPresheafedSpace // x Exists.choose }) :
                        (AlgebraicGeometry.Scheme.OpenCover.finiteSubcover 𝒰).map x = 𝒰.map (𝒰.f x)
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.OpenCover.finiteSubcover_obj {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) [H : CompactSpace X.toPresheafedSpace] (x : { x : X.toPresheafedSpace // x Exists.choose }) :
                        (AlgebraicGeometry.Scheme.OpenCover.finiteSubcover 𝒰).obj x = 𝒰.obj (𝒰.f x)

                        Every open cover of a quasi-compact scheme can be refined into a finite subcover.

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

                          If X ⟶ Y is an open immersion, and Y is a scheme, then so is X.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem AlgebraicGeometry.Scheme.restrict_carrier {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : OpenEmbedding f) :
                            (AlgebraicGeometry.Scheme.restrict X h).toPresheafedSpace = U
                            @[simp]
                            theorem AlgebraicGeometry.Scheme.restrict_presheaf_obj {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X✝.toPresheafedSpace} (h : OpenEmbedding f) (X : (TopologicalSpace.Opens U)ᵒᵖ) :
                            (AlgebraicGeometry.Scheme.restrict X✝ h).presheaf.obj X = X✝.presheaf.obj (Opposite.op ((IsOpenMap.functor ).obj X.unop))
                            @[simp]
                            theorem AlgebraicGeometry.Scheme.restrict_presheaf_map {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : OpenEmbedding f) :
                            ∀ {X_1 Y : (TopologicalSpace.Opens U)ᵒᵖ} (f_1 : X_1 Y), (AlgebraicGeometry.Scheme.restrict X h).presheaf.map f_1 = X.presheaf.map ((IsOpenMap.functor ).map f_1.unop).op

                            The restriction of a Scheme along an open embedding.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem AlgebraicGeometry.Scheme.ofRestrict_val_base {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : OpenEmbedding f) :
                              @[simp]
                              theorem AlgebraicGeometry.Scheme.ofRestrict_val_c_app {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : OpenEmbedding f) (V : (TopologicalSpace.Opens X.toPresheafedSpace)ᵒᵖ) :
                              (AlgebraicGeometry.Scheme.ofRestrict X h).val.c.app V = X.presheaf.map ((IsOpenMap.adjunction ).counit.app V.unop).op

                              The canonical map from the restriction to the subspace.

                              Equations
                              Instances For

                                An open immersion induces an isomorphism from the domain onto the image

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem AlgebraicGeometry.IsOpenImmersion.range_pullback_snd_of_left {X : AlgebraicGeometry.Scheme} {Y : AlgebraicGeometry.Scheme} {Z : AlgebraicGeometry.Scheme} (f : X Z) (g : Y Z) [H : AlgebraicGeometry.IsOpenImmersion f] :
                                  Set.range CategoryTheory.Limits.pullback.snd.val.base = ((TopologicalSpace.Opens.map g.val.base).obj { carrier := Set.range f.val.base, is_open' := }).carrier
                                  theorem AlgebraicGeometry.IsOpenImmersion.range_pullback_fst_of_right {X : AlgebraicGeometry.Scheme} {Y : AlgebraicGeometry.Scheme} {Z : AlgebraicGeometry.Scheme} (f : X Z) (g : Y Z) [H : AlgebraicGeometry.IsOpenImmersion f] :
                                  Set.range CategoryTheory.Limits.pullback.fst.val.base = ((TopologicalSpace.Opens.map g.val.base).obj { carrier := Set.range f.val.base, is_open' := }).carrier

                                  The universal property of open immersions: For an open immersion f : X ⟶ Z, given any morphism of schemes g : Y ⟶ Z whose topological image is contained in the image of f, we can lift this morphism to a unique Y ⟶ X that commutes with these maps.

                                  Equations
                                  Instances For

                                    Two open immersions with equal range are isomorphic.

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

                                      The functor opens X ⥤ opens Y associated with an open immersion f : X ⟶ Y.

                                      Equations
                                      Instances For

                                        The isomorphism Γ(X, U) ⟶ Γ(Y, f(U)) induced by an open immersion f : X ⟶ Y.

                                        Equations
                                        Instances For

                                          The image of an open immersion as an open set.

                                          Equations
                                          Instances For

                                            Given an open cover on X, we may pull them back along a morphism W ⟶ X to obtain an open cover of W.

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

                                              Given an open cover on X, we may pull them back along a morphism f : W ⟶ X to obtain an open cover of W. This is similar to Scheme.OpenCover.pullbackCover, but here we take pullback (𝒰.map x) f instead of pullback f (𝒰.map x).

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem AlgebraicGeometry.Scheme.OpenCover.iUnion_range {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) :
                                                ⋃ (i : 𝒰.J), Set.range (𝒰.map i).val.base = Set.univ
                                                theorem AlgebraicGeometry.Scheme.OpenCover.compactSpace {X : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.OpenCover X) [Finite 𝒰.J] [H : ∀ (i : 𝒰.J), CompactSpace (𝒰.obj i).toPresheafedSpace] :
                                                CompactSpace X.toPresheafedSpace

                                                Given open covers { Uᵢ } and { Uⱼ }, we may form the open cover { Uᵢ ∩ Uⱼ }.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[simp]
                                                  theorem AlgebraicGeometry.Scheme.openCoverOfSuprEqTop_J {s : Type u_1} (X : AlgebraicGeometry.Scheme) (U : sTopologicalSpace.Opens X.toPresheafedSpace) (hU : ⨆ (i : s), U i = ) :
                                                  @[simp]
                                                  theorem AlgebraicGeometry.Scheme.openCoverOfSuprEqTop_map {s : Type u_1} (X : AlgebraicGeometry.Scheme) (U : sTopologicalSpace.Opens X.toPresheafedSpace) (hU : ⨆ (i : s), U i = ) (i : s) :
                                                  @[simp]
                                                  theorem AlgebraicGeometry.Scheme.openCoverOfSuprEqTop_obj {s : Type u_1} (X : AlgebraicGeometry.Scheme) (U : sTopologicalSpace.Opens X.toPresheafedSpace) (hU : ⨆ (i : s), U i = ) (i : s) :
                                                  def AlgebraicGeometry.Scheme.openCoverOfSuprEqTop {s : Type u_1} (X : AlgebraicGeometry.Scheme) (U : sTopologicalSpace.Opens X.toPresheafedSpace) (hU : ⨆ (i : s), U i = ) :

                                                  If U is a family of open sets that covers X, then X.restrict U forms an X.open_cover.

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

                                                    An affine open cover of X consists of a family of open immersions into X from spectra of rings.

                                                    • J : Type v

                                                      index set of an affine open cover of a scheme X

                                                    • obj : self.JCommRingCat

                                                      the ring associated to a component of an affine open cover

                                                    • map : (j : self.J) → AlgebraicGeometry.Scheme.Spec.obj (Opposite.op (self.obj j)) X

                                                      the embedding of subschemes to X

                                                    • f : X.toPresheafedSpaceself.J

                                                      given a point of x : X, f x is the index of the subscheme which contains x

                                                    • Covers : ∀ (x : X.toPresheafedSpace), x Set.range (self.map (self.f x)).val.base

                                                      the subschemes covers X

                                                    • IsOpen : ∀ (x : self.J), AlgebraicGeometry.IsOpenImmersion (self.map x)

                                                      the embedding of subschemes are open immersions

                                                    Instances For

                                                      The open cover associated to an affine open cover.

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

                                                        A choice of an affine open cover of a scheme.

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

                                                          Given any open cover 𝓤, this is an affine open cover which refines it. The morphism in the category of open covers which proves that this is indeed a refinement, see AlgebraicGeometry.Scheme.OpenCover.fromAffineRefinement.

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

                                                            A morphism between open covers 𝓤 ⟶ 𝓥 indicates that 𝓤 is a refinement of 𝓥. Since open covers of schemes are indexed, the definition also involves a map on the indexing types.

                                                            • idx : 𝓤.J𝓥.J

                                                              The map on indexing types associated to a morphism of open covers.

                                                            • app : (j : 𝓤.J) → 𝓤.obj j 𝓥.obj (self.idx j)

                                                              The morphism between open subsets associated to a morphism of open covers.

                                                            • isOpen : ∀ (j : 𝓤.J), AlgebraicGeometry.IsOpenImmersion (self.app j)
                                                            • w : ∀ (j : 𝓤.J), CategoryTheory.CategoryStruct.comp (self.app j) (𝓥.map (self.idx j)) = 𝓤.map j
                                                            Instances For

                                                              The identity morphism in the category of open covers of a scheme.

                                                              Equations
                                                              Instances For

                                                                The composition of two morphisms in the category of open covers of a scheme.

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

                                                                  Given any open cover 𝓤, this is an affine open cover which refines it.

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