Documentation

Mathlib.AlgebraicGeometry.AffineScheme

Affine schemes #

We define the category of AffineSchemes as the essential image of Spec. We also define predicates about affine schemes and affine open sets.

Main definitions #

The category of affine schemes

Equations
Instances For

    A Scheme is affine if the canonical map X ⟶ Spec Γ(X) is an isomorphism.

    Instances

      The canonical isomorphism X ≅ Spec Γ(X) for an affine scheme.

      Equations
      Instances For
        theorem AlgebraicGeometry.Scheme.isoSpec_hom (X : Scheme) [IsAffine X] :
        X.isoSpec.hom = X.toSpecΓ

        Construct an affine scheme from a scheme and the information that it is affine. Also see AffineScheme.of for a typeclass version.

        Equations
        Instances For
          @[simp]
          theorem AlgebraicGeometry.AffineScheme.mk_obj (X : Scheme) (x✝ : IsAffine X) :
          (mk X x✝).obj = X

          Construct an affine scheme from a scheme. Also see AffineScheme.mk for a non-typeclass version.

          Equations
          Instances For

            Type check a morphism of schemes as a morphism in AffineScheme.

            Equations
            Instances For

              If f : X ⟶ Y is a morphism between affine schemes, the corresponding arrow is isomorphic to the arrow of the morphism on prime spectra induced by the map on global sections.

              Equations
              Instances For

                If f : A ⟶ B is a ring homomorphism, the corresponding arrow is isomorphic to the arrow of the morphism induced on global sections by the map on prime spectra.

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

                  The category of affine schemes is equivalent to the category of commutative rings.

                  Equations
                  Instances For
                    def AlgebraicGeometry.IsAffineOpen {X : Scheme} (U : X.Opens) :

                    An open subset of a scheme is affine if the open subscheme is affine.

                    Equations
                    Instances For

                      The set of affine opens as a subset of opens X.

                      Equations
                      Instances For
                        instance AlgebraicGeometry.Scheme.isAffine_affineCover (X : Scheme) (i : X.affineCover.J) :
                        IsAffine (X.affineCover.obj i)
                        instance AlgebraicGeometry.Scheme.isAffine_affineBasisCover (X : Scheme) (i : X.affineBasisCover.J) :
                        IsAffine (X.affineBasisCover.obj i)
                        instance AlgebraicGeometry.Scheme.isAffine_affineOpenCover (X : Scheme) (𝒰 : X.AffineOpenCover) (i : 𝒰.J) :
                        IsAffine (𝒰.openCover.obj i)
                        theorem AlgebraicGeometry.iSup_affineOpens_eq_top (X : Scheme) :
                        ⨆ (i : X.affineOpens), i =
                        noncomputable def AlgebraicGeometry.Scheme.Opens.toSpecΓ {X : Scheme} (U : X.Opens) :
                        U Spec (X.presheaf.obj (Opposite.op U))

                        The canonical map U ⟶ Spec Γ(X, U) for an open U ⊆ X.

                        Equations
                        Instances For
                          @[simp]
                          theorem AlgebraicGeometry.Scheme.Opens.toSpecΓ_SpecMap_map {X : Scheme} (U V : X.Opens) (h : U V) :
                          CategoryTheory.CategoryStruct.comp U.toSpecΓ (Spec.map (X.presheaf.map (CategoryTheory.homOfLE h).op)) = CategoryTheory.CategoryStruct.comp (X.homOfLE h) V.toSpecΓ
                          @[simp]
                          def AlgebraicGeometry.IsAffineOpen.isoSpec {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                          U Spec (X.presheaf.obj (Opposite.op U))

                          The isomorphism U ≅ Spec Γ(X, U) for an affine U.

                          Equations
                          Instances For
                            theorem AlgebraicGeometry.IsAffineOpen.isoSpec_inv {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                            hU.isoSpec.inv = CategoryTheory.CategoryStruct.comp (Spec.map (X.presheaf.map (CategoryTheory.eqToHom ).op)) (↑U).isoSpec.inv
                            theorem AlgebraicGeometry.IsAffineOpen.isoSpec_hom {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                            hU.isoSpec.hom = U.toSpecΓ
                            theorem AlgebraicGeometry.IsAffineOpen.isoSpec_hom_base_apply {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : U) :
                            hU.isoSpec.hom.base x = (Spec.map (X.presheaf.germ U x )).base (IsLocalRing.closedPoint (X.presheaf.stalk x))
                            @[deprecated AlgebraicGeometry.IsAffineOpen.isoSpec_inv_appTop (since := "2024-11-16")]
                            theorem AlgebraicGeometry.IsAffineOpen.isoSpec_inv_app_top {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                            Scheme.Hom.appTop hU.isoSpec.inv = CategoryTheory.CategoryStruct.comp U.topIso.hom (Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv

                            Alias of AlgebraicGeometry.IsAffineOpen.isoSpec_inv_appTop.

                            @[deprecated AlgebraicGeometry.IsAffineOpen.isoSpec_hom_appTop (since := "2024-11-16")]
                            theorem AlgebraicGeometry.IsAffineOpen.isoSpec_hom_app_top {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                            Scheme.Hom.appTop hU.isoSpec.hom = CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).hom U.topIso.inv

                            Alias of AlgebraicGeometry.IsAffineOpen.isoSpec_hom_appTop.

                            def AlgebraicGeometry.IsAffineOpen.fromSpec {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                            Spec (X.presheaf.obj (Opposite.op U)) X

                            The open immersion Spec Γ(X, U) ⟶ X for an affine U.

                            Equations
                            Instances For
                              @[simp]
                              theorem AlgebraicGeometry.IsAffineOpen.isoSpec_inv_ι {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                              CategoryTheory.CategoryStruct.comp hU.isoSpec.inv U = hU.fromSpec
                              @[simp]
                              theorem AlgebraicGeometry.IsAffineOpen.range_fromSpec {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                              Set.range hU.fromSpec.base = U
                              @[simp]
                              @[simp]
                              theorem AlgebraicGeometry.IsAffineOpen.map_fromSpec {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) {V : X.Opens} (hV : IsAffineOpen V) (f : Opposite.op U Opposite.op V) :
                              CategoryTheory.CategoryStruct.comp (Spec.map (X.presheaf.map f)) hU.fromSpec = hV.fromSpec
                              @[simp]
                              theorem AlgebraicGeometry.IsAffineOpen.map_fromSpec_assoc {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) {V : X.Opens} (hV : IsAffineOpen V) (f : Opposite.op U Opposite.op V) {Z : Scheme} (h : X Z) :
                              theorem AlgebraicGeometry.IsAffineOpen.Spec_map_appLE_fromSpec {X Y : Scheme} (f : X Y) {V : X.Opens} {U : Y.Opens} (hU : IsAffineOpen U) (hV : IsAffineOpen V) (i : V (TopologicalSpace.Opens.map f.base).obj U) :
                              theorem AlgebraicGeometry.IsAffineOpen.fromSpec_top {X : Scheme} [IsAffine X] :
                              .fromSpec = X.isoSpec.inv
                              theorem AlgebraicGeometry.IsAffineOpen.fromSpec_app_of_le {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (V : X.Opens) (h : U V) :
                              Scheme.Hom.app hU.fromSpec V = CategoryTheory.CategoryStruct.comp (X.presheaf.map (CategoryTheory.homOfLE h).op) (CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv ((Spec (X.presheaf.obj (Opposite.op U))).presheaf.map (CategoryTheory.homOfLE ).op))
                              theorem AlgebraicGeometry.Scheme.Hom.isAffineOpen_iff_of_isOpenImmersion {X Y : Scheme} (f : X.Hom Y) [H : IsOpenImmersion f] {U : X.Opens} :
                              IsAffineOpen (f.opensFunctor.obj U) IsAffineOpen U
                              def AlgebraicGeometry.IsOpenImmersion.affineOpensEquiv {X Y : Scheme} (f : X Y) [H : IsOpenImmersion f] :
                              X.affineOpens { U : Y.affineOpens // U Scheme.Hom.opensRange f }

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

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem AlgebraicGeometry.IsOpenImmersion.affineOpensEquiv_apply_coe_coe {X Y : Scheme} (f : X Y) [H : IsOpenImmersion f] (U : X.affineOpens) :
                                ((affineOpensEquiv f) U) = (Scheme.Hom.opensFunctor f).obj U
                                @[simp]
                                theorem AlgebraicGeometry.IsOpenImmersion.affineOpensEquiv_symm_apply_coe {X Y : Scheme} (f : X Y) [H : IsOpenImmersion f] (U : { U : Y.affineOpens // U Scheme.Hom.opensRange f }) :
                                ((affineOpensEquiv f).symm U) = (TopologicalSpace.Opens.map f.base).obj U
                                def AlgebraicGeometry.affineOpensRestrict {X : Scheme} (U : X.Opens) :
                                (↑U).affineOpens { V : X.affineOpens // V U }

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

                                Equations
                                Instances For
                                  @[simp]
                                  theorem AlgebraicGeometry.affineOpensRestrict_apply_coe_coe {X : Scheme} (U : X.Opens) (a✝ : (↑U).affineOpens) :
                                  ((affineOpensRestrict U) a✝) = (Scheme.Hom.opensFunctor U).obj a✝
                                  @[simp]
                                  theorem AlgebraicGeometry.affineOpensRestrict_symm_apply_coe {X : Scheme} (U : X.Opens) (V : { V : X.affineOpens // V U }) :
                                  ((affineOpensRestrict U).symm V) = (TopologicalSpace.Opens.map U.base).obj V
                                  @[instance 100]
                                  @[simp]
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_self {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                                  (TopologicalSpace.Opens.map hU.fromSpec.base).obj U =
                                  theorem AlgebraicGeometry.IsAffineOpen.ΓSpecIso_hom_fromSpec_app {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                                  CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).hom (Scheme.Hom.app hU.fromSpec U) = (Spec (X.presheaf.obj (Opposite.op U))).presheaf.map (CategoryTheory.eqToHom ).op
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_app_self {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                                  Scheme.Hom.app hU.fromSpec U = CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv ((Spec (X.presheaf.obj (Opposite.op U))).presheaf.map (CategoryTheory.eqToHom ).op)
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_app_self_apply {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : (CategoryTheory.forget CommRingCat).obj (X.presheaf.obj (Opposite.op U))) :
                                  (Scheme.Hom.app hU.fromSpec U) x = ((Spec (X.presheaf.obj (Opposite.op U))).presheaf.map (CategoryTheory.eqToHom )) ((Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv x)
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen' {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  (TopologicalSpace.Opens.map hU.fromSpec.base).obj (X.basicOpen f) = (Spec (X.presheaf.obj (Opposite.op U))).basicOpen ((Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv.hom f)
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  (TopologicalSpace.Opens.map hU.fromSpec.base).obj (X.basicOpen f) = PrimeSpectrum.basicOpen f
                                  theorem AlgebraicGeometry.IsAffineOpen.fromSpec_image_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  (Scheme.Hom.opensFunctor hU.fromSpec).obj (PrimeSpectrum.basicOpen f) = X.basicOpen f
                                  @[simp]
                                  theorem AlgebraicGeometry.IsAffineOpen.basicOpen_fromSpec_app {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  (Spec (X.presheaf.obj (Opposite.op U))).basicOpen ((Scheme.Hom.app hU.fromSpec U).hom f) = PrimeSpectrum.basicOpen f
                                  theorem AlgebraicGeometry.IsAffineOpen.basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  IsAffineOpen (X.basicOpen f)
                                  instance AlgebraicGeometry.IsAffineOpen.instIsAffineToSchemeBasicOpen {X : Scheme} [IsAffine X] (r : (X.presheaf.obj (Opposite.op ))) :
                                  IsAffine (X.basicOpen r)
                                  theorem AlgebraicGeometry.IsAffineOpen.ι_basicOpen_preimage {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (r : (X.presheaf.obj (Opposite.op ))) :
                                  IsAffineOpen ((TopologicalSpace.Opens.map (X.basicOpen r).base).obj U)
                                  theorem AlgebraicGeometry.IsAffineOpen.exists_basicOpen_le {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) {V : X.Opens} (x : V) (h : x U) :
                                  ∃ (f : (X.presheaf.obj (Opposite.op U))), X.basicOpen f V x X.basicOpen f
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[simp]
                                  theorem AlgebraicGeometry.IsAffineOpen.algebraMap_Spec_obj {R : CommRingCat} {U : (Spec R).Opens} :
                                  algebraMap R ((Spec R).presheaf.obj (Opposite.op U)) = (CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso R).inv ((Spec R).presheaf.map (CategoryTheory.homOfLE ).op)).hom
                                  def AlgebraicGeometry.IsAffineOpen.basicOpenSectionsToAffine {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                  X.presheaf.obj (Opposite.op (X.basicOpen f)) (Spec (X.presheaf.obj (Opposite.op U))).presheaf.obj (Opposite.op (PrimeSpectrum.basicOpen f))

                                  Given an affine open U and some f : U, this is the canonical map Γ(𝒪ₓ, D(f)) ⟶ Γ(Spec 𝒪ₓ(U), D(f)) This is an isomorphism, as witnessed by an IsIso instance.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    instance AlgebraicGeometry.IsAffineOpen.basicOpenSectionsToAffine_isIso {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                    CategoryTheory.IsIso (hU.basicOpenSectionsToAffine f)
                                    theorem AlgebraicGeometry.IsAffineOpen.isLocalization_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                    IsLocalization.Away f (X.presheaf.obj (Opposite.op (X.basicOpen f)))
                                    instance AlgebraicGeometry.isLocalization_away_of_isAffine {X : Scheme} [IsAffine X] (r : (X.presheaf.obj (Opposite.op ))) :
                                    IsLocalization.Away r (X.presheaf.obj (Opposite.op (X.basicOpen r)))
                                    theorem AlgebraicGeometry.IsAffineOpen.appLE_eq_away_map {X Y : Scheme} (f : X Y) {U : Y.Opens} (hU : IsAffineOpen U) {V : X.Opens} (hV : IsAffineOpen V) (e : V (TopologicalSpace.Opens.map f.base).obj U) (r : (Y.presheaf.obj (Opposite.op U))) :
                                    Scheme.Hom.appLE f (Y.basicOpen r) (X.basicOpen ((Scheme.Hom.appLE f U V e).hom r)) = CommRingCat.ofHom (IsLocalization.Away.map (↑(Y.presheaf.toPrefunctor.1 (Opposite.op (Y.basicOpen r)))) (↑(X.presheaf.toPrefunctor.1 (Opposite.op (X.basicOpen ((Scheme.Hom.appLE f U V e).hom r))))) (Scheme.Hom.appLE f U V e).hom r)
                                    theorem AlgebraicGeometry.IsAffineOpen.app_basicOpen_eq_away_map {X Y : Scheme} (f : X Y) {U : Y.Opens} (hU : IsAffineOpen U) (h : IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)) (r : (Y.presheaf.obj (Opposite.op U))) :
                                    Scheme.Hom.app f (Y.basicOpen r) = CategoryTheory.CategoryStruct.comp (CommRingCat.ofHom (IsLocalization.Away.map (↑(Y.presheaf.obj (Opposite.op (Y.basicOpen r)))) (↑(X.presheaf.obj (Opposite.op (X.basicOpen ((Scheme.Hom.app f U).hom r))))) (Scheme.Hom.app f U).hom r)) (X.presheaf.map (CategoryTheory.eqToHom ).op)
                                    def AlgebraicGeometry.IsAffineOpen.appBasicOpenIsoAwayMap {X Y : Scheme} (f : X Y) {U : Y.Opens} (hU : IsAffineOpen U) (h : IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)) (r : (Y.presheaf.obj (Opposite.op U))) :
                                    CategoryTheory.Arrow.mk (Scheme.Hom.app f (Y.basicOpen r)) CategoryTheory.Arrow.mk (CommRingCat.ofHom (IsLocalization.Away.map (↑(Y.presheaf.obj (Opposite.op (Y.basicOpen r)))) (↑(X.presheaf.obj (Opposite.op (X.basicOpen ((Scheme.Hom.app f U).hom r))))) (Scheme.Hom.app f U).hom r))

                                    f.app (Y.basicOpen r) is isomorphic to map induced on localizations Γ(Y, Y.basicOpen r) ⟶ Γ(X, X.basicOpen (f.app U r))

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      theorem AlgebraicGeometry.IsAffineOpen.isLocalization_of_eq_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) {V : X.Opens} (i : V U) (e : V = X.basicOpen f) :
                                      IsLocalization.Away f (X.presheaf.obj (Opposite.op V))
                                      instance AlgebraicGeometry.Γ_restrict_isLocalization (X : Scheme) [IsAffine X] (r : (X.presheaf.obj (Opposite.op ))) :
                                      IsLocalization.Away r ((↑(X.basicOpen r)).presheaf.obj (Opposite.op ))
                                      theorem AlgebraicGeometry.IsAffineOpen.basicOpen_basicOpen_is_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) (g : (X.presheaf.obj (Opposite.op (X.basicOpen f)))) :
                                      ∃ (f' : (X.presheaf.obj (Opposite.op U))), X.basicOpen f' = X.basicOpen g
                                      theorem AlgebraicGeometry.exists_basicOpen_le_affine_inter {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) {V : X.Opens} (hV : IsAffineOpen V) (x : X.toPresheafedSpace) (hx : x U V) :
                                      ∃ (f : (X.presheaf.obj (Opposite.op U))) (g : (X.presheaf.obj (Opposite.op V))), X.basicOpen f = X.basicOpen g x X.basicOpen f
                                      noncomputable def AlgebraicGeometry.IsAffineOpen.primeIdealOf {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : U) :
                                      PrimeSpectrum (X.presheaf.obj (Opposite.op U))

                                      The prime ideal of 𝒪ₓ(U) corresponding to a point x : U.

                                      Equations
                                      • hU.primeIdealOf x = hU.isoSpec.hom.base x
                                      Instances For
                                        theorem AlgebraicGeometry.IsAffineOpen.fromSpec_primeIdealOf {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : U) :
                                        hU.fromSpec.base (hU.primeIdealOf x) = x
                                        theorem AlgebraicGeometry.IsAffineOpen.primeIdealOf_eq_map_closedPoint {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : U) :
                                        hU.primeIdealOf x = (Spec.map (X.presheaf.germ U x )).base (IsLocalRing.closedPoint (X.presheaf.stalk x))
                                        theorem AlgebraicGeometry.IsAffineOpen.isLocalization_stalk' {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (y : PrimeSpectrum (X.presheaf.obj (Opposite.op U))) (hy : hU.fromSpec.base y U) :
                                        IsLocalization.AtPrime (↑(X.presheaf.stalk (hU.fromSpec.base y))) y.asIdeal
                                        theorem AlgebraicGeometry.IsAffineOpen.isLocalization_stalk {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (x : U) :
                                        IsLocalization.AtPrime (↑(X.presheaf.stalk x)) (hU.primeIdealOf x).asIdeal
                                        theorem AlgebraicGeometry.IsAffineOpen.stalkMap_injective {X Y : Scheme} (f : X Y) {U : TopologicalSpace.Opens Y.toPresheafedSpace} (hU : IsAffineOpen U) (x : X.toPresheafedSpace) (hx : f.base x U) (h : ∀ (g : (Y.presheaf.obj (Opposite.op U))), (Scheme.Hom.stalkMap f x).hom ((Y.presheaf.germ U (f.base x) hx).hom g) = 0(Y.presheaf.germ U (f.base x) hx).hom g = 0) :
                                        def AlgebraicGeometry.Scheme.affineBasicOpen (X : Scheme) {U : X.affineOpens} (f : (X.presheaf.obj (Opposite.op U))) :
                                        X.affineOpens

                                        The basic open set of a section f on an affine open as an X.affineOpens.

                                        Equations
                                        • X.affineBasicOpen f = X.basicOpen f,
                                        Instances For
                                          @[simp]
                                          theorem AlgebraicGeometry.Scheme.affineBasicOpen_coe (X : Scheme) {U : X.affineOpens} (f : (X.presheaf.obj (Opposite.op U))) :
                                          (X.affineBasicOpen f) = X.basicOpen f
                                          theorem AlgebraicGeometry.IsAffineOpen.basicOpen_union_eq_self_iff {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (s : Set (X.presheaf.obj (Opposite.op U))) :
                                          ⨆ (f : s), X.basicOpen f = U Ideal.span s =

                                          In an affine open set U, a family of basic open covers U iff the sections span Γ(X, U). See iSup_basicOpen_of_span_eq_top for the inverse direction without the affine-ness assumption.

                                          theorem AlgebraicGeometry.IsAffineOpen.self_le_basicOpen_union_iff {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (s : Set (X.presheaf.obj (Opposite.op U))) :
                                          U ⨆ (f : s), X.basicOpen f Ideal.span s =

                                          The restriction of Spec.map f to a basic open D(r) is isomorphic to Spec.map of the localization of f away from r.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            theorem AlgebraicGeometry.stalkMap_injective_of_isAffine {X Y : Scheme} (f : X Y) [IsAffine Y] (x : X.toPresheafedSpace) (h : ∀ (g : (Y.presheaf.obj (Opposite.op ))), (Scheme.Hom.stalkMap f x).hom ((Y.presheaf.Γgerm (f.base x)).hom g) = 0(Y.presheaf.Γgerm (f.base x)).hom g = 0) :
                                            theorem AlgebraicGeometry.iSup_basicOpen_of_span_eq_top {X : Scheme} (U : X.Opens) (s : Set (X.presheaf.obj (Opposite.op U))) (hs : Ideal.span s = ) :
                                            is, X.basicOpen i = U

                                            Given a spanning set of Γ(X, U), the corresponding basic open sets cover U. See IsAffineOpen.basicOpen_union_eq_self_iff for the inverse direction for affine open sets.

                                            theorem AlgebraicGeometry.of_affine_open_cover {X : Scheme} {P : X.affineOpensProp} {ι : Sort u_2} (U : ιX.affineOpens) (iSup_U : ⨆ (i : ι), (U i) = ) (V : X.affineOpens) (basicOpen : ∀ (U : X.affineOpens) (f : (X.presheaf.obj (Opposite.op U))), P UP (X.affineBasicOpen f)) (openCover : ∀ (U : X.affineOpens) (s : Finset (X.presheaf.obj (Opposite.op U))), Ideal.span s = (∀ (f : { x : (X.presheaf.obj (Opposite.op U)) // x s }), P (X.affineBasicOpen f))P U) (hU : ∀ (i : ι), P (U i)) :
                                            P V

                                            Let P be a predicate on the affine open sets of X satisfying

                                            1. If P holds on U, then P holds on the basic open set of every section on U.
                                            2. If P holds for a family of basic open sets covering U, then P holds for U.
                                            3. There exists an affine open cover of X each satisfying P.

                                            Then P holds for every affine open of X.

                                            This is also known as the Affine communication lemma in The rising sea.

                                            theorem AlgebraicGeometry.Scheme.toΓSpec_preimage_zeroLocus_eq {X : Scheme} (s : Set (X.presheaf.obj (Opposite.op ))) :
                                            X.toSpecΓ.base ⁻¹' PrimeSpectrum.zeroLocus s = X.zeroLocus s

                                            On a locally ringed space X, the preimage of the zero locus of the prime spectrum of Γ(X, ⊤) under toΓSpecFun agrees with the associated zero locus on X.

                                            theorem AlgebraicGeometry.Scheme.toΓSpec_image_zeroLocus_eq_of_isAffine {X : Scheme} [IsAffine X] (s : Set (X.presheaf.obj (Opposite.op ))) :
                                            X.isoSpec.hom.base '' X.zeroLocus s = PrimeSpectrum.zeroLocus s

                                            If X is affine, the image of the zero locus of global sections of X under toΓSpecFun is the zero locus in terms of the prime spectrum of Γ(X, ⊤).

                                            theorem AlgebraicGeometry.Scheme.eq_zeroLocus_of_isClosed_of_isAffine (X : Scheme) [IsAffine X] (s : Set X.toPresheafedSpace) :
                                            IsClosed s ∃ (I : Ideal (X.presheaf.obj (Opposite.op ))), s = X.zeroLocus I

                                            If X is an affine scheme, every closed set of X is the zero locus of a set of global sections.

                                            If X ⟶ Spec A is a morphism of schemes, then Spec of A ⧸ specTargetImage f is the scheme-theoretic image of f. For this quotient as an object of CommRingCat see specTargetImage below.

                                            Equations
                                            Instances For

                                              If X ⟶ Spec A is a morphism of schemes, then Spec of specTargetImage f is the scheme-theoretic image of f and f factors as specTargetImageFactorization f ≫ Spec.map (specTargetImageRingHom f) (see specTargetImageFactorization_comp).

                                              Equations
                                              Instances For

                                                If f : X ⟶ Spec A is a morphism of schemes, then f factors via the inclusion of Spec (specTargetImage f) into X.

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

                                                  If f : X ⟶ Spec A is a morphism of schemes, the induced morphism on spectra of specTargetImageRingHom f is the inclusion of the scheme-theoretic image of f into Spec A.

                                                  Equations
                                                  Instances For

                                                    The inclusion of the scheme-theoretic image of a morphism with affine target.

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

                                                      The induced morphism from X to the scheme-theoretic image of a morphism f : X ⟶ Y with affine target.

                                                      Equations
                                                      Instances For

                                                        Given a morphism of rings f : R ⟶ S, the stalk map of Spec S ⟶ Spec R at a prime of S is isomorphic to the localized ring homomorphism.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          @[deprecated AlgebraicGeometry.isAffine_affineScheme (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.isAffine_affineScheme.

                                                          @[deprecated AlgebraicGeometry.isAffine_Spec (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.isAffine_Spec.

                                                          @[deprecated AlgebraicGeometry.isAffine_of_isIso (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.isAffine_of_isIso.

                                                          @[deprecated AlgebraicGeometry.isAffineOpen_opensRange (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.isAffineOpen_opensRange.

                                                          @[deprecated AlgebraicGeometry.isAffineOpen_top (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.isAffineOpen_top.

                                                          @[deprecated AlgebraicGeometry.Scheme.isAffine_affineCover (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.Scheme.affineCoverIsAffine (X : Scheme) (i : X.affineCover.J) :
                                                          IsAffine (X.affineCover.obj i)

                                                          Alias of AlgebraicGeometry.Scheme.isAffine_affineCover.

                                                          @[deprecated AlgebraicGeometry.Scheme.isAffine_affineBasisCover (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.Scheme.affineBasisCoverIsAffine (X : Scheme) (i : X.affineBasisCover.J) :
                                                          IsAffine (X.affineBasisCover.obj i)

                                                          Alias of AlgebraicGeometry.Scheme.isAffine_affineBasisCover.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.range_fromSpec (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.fromSpec_range {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                                                          Set.range hU.fromSpec.base = U

                                                          Alias of AlgebraicGeometry.IsAffineOpen.range_fromSpec.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.image_of_isOpenImmersion (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.IsAffineOpen.image_of_isOpenImmersion.

                                                          @[deprecated AlgebraicGeometry.Scheme.compactSpace_of_isAffine (since := "2024-06-21")]

                                                          Alias of AlgebraicGeometry.Scheme.compactSpace_of_isAffine.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_self (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.fromSpec_base_preimage {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) :
                                                          (TopologicalSpace.Opens.map hU.fromSpec.base).obj U =

                                                          Alias of AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_self.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen' (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.fromSpec_map_basicOpen' {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                                          (TopologicalSpace.Opens.map hU.fromSpec.base).obj (X.basicOpen f) = (Spec (X.presheaf.obj (Opposite.op U))).basicOpen ((Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).inv.hom f)

                                                          Alias of AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen'.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.fromSpec_map_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                                          (TopologicalSpace.Opens.map hU.fromSpec.base).obj (X.basicOpen f) = PrimeSpectrum.basicOpen f

                                                          Alias of AlgebraicGeometry.IsAffineOpen.fromSpec_preimage_basicOpen.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.fromSpec_image_basicOpen (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.opensFunctor_map_basicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                                          (Scheme.Hom.opensFunctor hU.fromSpec).obj (PrimeSpectrum.basicOpen f) = X.basicOpen f

                                                          Alias of AlgebraicGeometry.IsAffineOpen.fromSpec_image_basicOpen.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.basicOpen (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.basicOpenIsAffine {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (f : (X.presheaf.obj (Opposite.op U))) :
                                                          IsAffineOpen (X.basicOpen f)

                                                          Alias of AlgebraicGeometry.IsAffineOpen.basicOpen.

                                                          @[deprecated AlgebraicGeometry.IsAffineOpen.ι_basicOpen_preimage (since := "2024-06-21")]
                                                          theorem AlgebraicGeometry.IsAffineOpen.mapRestrictBasicOpen {X : Scheme} {U : X.Opens} (hU : IsAffineOpen U) (r : (X.presheaf.obj (Opposite.op ))) :
                                                          IsAffineOpen ((TopologicalSpace.Opens.map (X.basicOpen r).base).obj U)

                                                          Alias of AlgebraicGeometry.IsAffineOpen.ι_basicOpen_preimage.