Documentation

Mathlib.AlgebraicGeometry.OpenImmersion

Open immersions of schemes #

@[reducible, inline]

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.

      @[deprecated AlgebraicGeometry.Scheme.Hom.isOpenEmbedding]

      Alias of AlgebraicGeometry.Scheme.Hom.isOpenEmbedding.

      The image of an open immersion as an open set.

      Equations
      • f.opensRange = { carrier := Set.range f.base, is_open' := }
      Instances For
        @[reducible, inline]

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

        Equations
        Instances For

          f ''ᵁ U is notation for the image (as an open set) of U under an open immersion f.

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

            Pretty printer defined by notation3 command.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem AlgebraicGeometry.Scheme.Hom.image_le_image_of_le {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] {U V : X.Opens} (e : U V) :
              f.opensFunctor.obj U f.opensFunctor.obj V
              @[simp]
              @[simp]
              theorem AlgebraicGeometry.Scheme.Hom.preimage_image_eq {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) :
              (TopologicalSpace.Opens.map f.base).obj (f.opensFunctor.obj U) = U
              theorem AlgebraicGeometry.Scheme.Hom.image_preimage_eq_opensRange_inter {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : Y.Opens) :
              f.opensFunctor.obj ((TopologicalSpace.Opens.map f.base).obj U) = f.opensRange U
              theorem AlgebraicGeometry.Scheme.Hom.image_injective {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] :
              Function.Injective fun (x : X.Opens) => f.opensFunctor.obj x
              theorem AlgebraicGeometry.Scheme.Hom.image_iSup {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] {ι : Sort u_1} (s : ιX.Opens) :
              f.opensFunctor.obj (⨆ (i : ι), s i) = ⨆ (i : ι), f.opensFunctor.obj (s i)
              theorem AlgebraicGeometry.Scheme.Hom.image_iSup₂ {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] {ι : Sort u_1} {κ : ιSort u_2} (s : (i : ι) → κ iX.Opens) :
              f.opensFunctor.obj (⨆ (i : ι), ⨆ (j : κ i), s i j) = ⨆ (i : ι), ⨆ (j : κ i), f.opensFunctor.obj (s i j)
              def AlgebraicGeometry.Scheme.Hom.appIso {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) :
              Y.presheaf.obj (Opposite.op (f.opensFunctor.obj U)) X.presheaf.obj (Opposite.op U)

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

              Equations
              Instances For
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_naturality {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] {U V : X.Opens} (i : Opposite.op U Opposite.op V) :
                CategoryTheory.CategoryStruct.comp (X.presheaf.map i) (f.appIso V).inv = CategoryTheory.CategoryStruct.comp (f.appIso U).inv (Y.presheaf.map (f.opensFunctor.op.map i))
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_naturality_assoc {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] {U V : X.Opens} (i : Opposite.op U Opposite.op V) {Z : CommRingCat} (h : Y.presheaf.obj (Opposite.op (f.opensFunctor.obj V)) Z) :
                CategoryTheory.CategoryStruct.comp (X.presheaf.map i) (CategoryTheory.CategoryStruct.comp (f.appIso V).inv h) = CategoryTheory.CategoryStruct.comp (f.appIso U).inv (CategoryTheory.CategoryStruct.comp (Y.presheaf.map (f.opensFunctor.op.map i)) h)
                theorem AlgebraicGeometry.Scheme.Hom.appIso_hom {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) :
                (f.appIso U).hom = CategoryTheory.CategoryStruct.comp (f.app (f.opensFunctor.obj U)) (X.presheaf.map (CategoryTheory.eqToHom ).op)
                theorem AlgebraicGeometry.Scheme.Hom.appIso_hom' {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) :
                (f.appIso U).hom = f.appLE (f.opensFunctor.obj U) U
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.app_appIso_inv {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : Y.Opens) :
                CategoryTheory.CategoryStruct.comp (f.app U) (f.appIso ((TopologicalSpace.Opens.map f.base).obj U)).inv = Y.presheaf.map (CategoryTheory.homOfLE ).op
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.app_appIso_inv_assoc {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : Y.Opens) {Z : CommRingCat} (h : Y.presheaf.obj (Opposite.op (f.opensFunctor.obj ((TopologicalSpace.Opens.map f.base).obj U))) Z) :
                theorem AlgebraicGeometry.Scheme.Hom.app_invApp' {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : Y.Opens) (hU : U f.opensRange) :
                CategoryTheory.CategoryStruct.comp (f.app U) (f.appIso ((TopologicalSpace.Opens.map f.base).obj U)).inv = Y.presheaf.map (CategoryTheory.eqToHom ).op

                A variant of app_invApp that gives an eqToHom instead of homOfLE.

                theorem AlgebraicGeometry.Scheme.Hom.app_invApp'_assoc {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : Y.Opens) (hU : U f.opensRange) {Z : CommRingCat} (h : Y.presheaf.obj (Opposite.op (f.opensFunctor.obj ((TopologicalSpace.Opens.map f.base).obj U))) Z) :
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_app {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) :
                CategoryTheory.CategoryStruct.comp (f.appIso U).inv (f.app (f.opensFunctor.obj U)) = X.presheaf.map (CategoryTheory.eqToHom ).op
                @[simp]
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_app_assoc {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) {Z : CommRingCat} (h : X.presheaf.obj (Opposite.op ((TopologicalSpace.Opens.map f.base).obj (f.opensFunctor.obj U))) Z) :
                CategoryTheory.CategoryStruct.comp (f.appIso U).inv (CategoryTheory.CategoryStruct.comp (f.app (f.opensFunctor.obj U)) h) = CategoryTheory.CategoryStruct.comp (X.presheaf.map (CategoryTheory.eqToHom ).op) h
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_app_apply {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) (x : (CategoryTheory.forget CommRingCat).obj (X.presheaf.obj (Opposite.op U))) :
                (f.app (f.opensFunctor.obj U)) ((f.appIso U).inv x) = (X.presheaf.map (CategoryTheory.eqToHom ).op) x
                theorem AlgebraicGeometry.Scheme.Hom.appIso_inv_app_apply' {X Y : AlgebraicGeometry.Scheme} (f : X.Hom Y) [H : AlgebraicGeometry.IsOpenImmersion f] (U : X.Opens) (x : (X.presheaf.obj (Opposite.op U))) :
                (f.app (f.opensFunctor.obj U)).hom ((f.appIso U).inv.hom x) = (X.presheaf.map (CategoryTheory.eqToHom ).op).hom x

                elementwise generates the ConcreteCategory.instFunLike lemma, we want CommRingCat.Hom.hom.

                The open sets of an open subscheme corresponds to the open sets containing in the image.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem AlgebraicGeometry.Scheme.exists_affine_mem_range_and_range_subset {X : AlgebraicGeometry.Scheme} {x : X.toPresheafedSpace} {U : X.Opens} (hxU : x U) :

                  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

                    The restriction of a Scheme along an open embedding.

                    Equations
                    • X.restrict h = { toPresheafedSpace := X.restrict h, IsSheaf := , isLocalRing := , local_affine := }
                    Instances For
                      theorem AlgebraicGeometry.Scheme.restrict_carrier {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) :
                      (X.restrict h).toPresheafedSpace = U
                      @[simp]
                      theorem AlgebraicGeometry.Scheme.restrict_presheaf_obj {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (X✝ : (TopologicalSpace.Opens U)ᵒᵖ) :
                      (X.restrict h).presheaf.obj X✝ = X.presheaf.obj (Opposite.op (.functor.obj (Opposite.unop X✝)))
                      theorem AlgebraicGeometry.Scheme.restrict_toPresheafedSpace {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) :
                      (X.restrict h).toPresheafedSpace = X.restrict h
                      def AlgebraicGeometry.Scheme.ofRestrict {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) :
                      X.restrict h X

                      The canonical map from the restriction to the subspace.

                      Equations
                      • X.ofRestrict h = { toHom_1 := X.ofRestrict h }
                      Instances For
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.ofRestrict_toLRSHom_c_app {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (V : (TopologicalSpace.Opens X.toPresheafedSpace)ᵒᵖ) :
                        (AlgebraicGeometry.Scheme.Hom.toLRSHom (X.ofRestrict h)).c.app V = X.presheaf.map (.adjunction.counit.app (Opposite.unop V)).op
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.ofRestrict_app {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (V : X.Opens) :
                        AlgebraicGeometry.Scheme.Hom.app (X.ofRestrict h) V = X.presheaf.map (.adjunction.counit.app V).op
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.ofRestrict_appLE {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (V : X.Opens) (W : (X.restrict h).Opens) (e : W (TopologicalSpace.Opens.map (X.ofRestrict h).base).obj V) :
                        AlgebraicGeometry.Scheme.Hom.appLE (X.ofRestrict h) V W e = X.presheaf.map (CategoryTheory.homOfLE ).op
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.ofRestrict_appIso {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (U✝ : (X.restrict h).Opens) :
                        AlgebraicGeometry.Scheme.Hom.appIso (X.ofRestrict h) U✝ = CategoryTheory.Iso.refl (X.presheaf.obj (Opposite.op ((AlgebraicGeometry.Scheme.Hom.opensFunctor (X.ofRestrict h)).obj U✝)))
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.restrict_presheaf_map {U : TopCat} (X : AlgebraicGeometry.Scheme) {f : U TopCat.of X.toPresheafedSpace} (h : Topology.IsOpenEmbedding f) (V W : (TopologicalSpace.Opens (X.restrict h).toPresheafedSpace)ᵒᵖ) (i : V W) :
                        (X.restrict h).presheaf.map i = X.presheaf.map (CategoryTheory.homOfLE ).op

                        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

                          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
                          • One or more equations did not get rendered due to their size.
                          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

                              If f is an open immersion X ⟶ Y, the global sections of X are naturally isomorphic to the sections of Y over the image of f.

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

                                Given an open immersion f : U ⟶ X, the isomorphism between global sections of U and the sections of X at the image of f.

                                Equations
                                Instances For
                                  theorem AlgebraicGeometry.Scheme.image_basicOpen {X Y : AlgebraicGeometry.Scheme} (f : X Y) [H : AlgebraicGeometry.IsOpenImmersion f] {U : X.Opens} (r : (X.presheaf.obj (Opposite.op U))) :
                                  (AlgebraicGeometry.Scheme.Hom.opensFunctor f).obj (X.basicOpen r) = Y.basicOpen ((AlgebraicGeometry.Scheme.Hom.appIso f U).inv.hom r)