Documentation

Mathlib.AlgebraicGeometry.Restrict

Restriction of Schemes and Morphisms #

Main definition #

Open subset of a scheme as a scheme.

Instances For
    @[implicit_reducible]

    The restriction of a scheme to an open subset.

    Instances For
      @[simp]
      theorem AlgebraicGeometry.Scheme.Opens.ι_apply {X : Scheme} (U : X.Opens) (x : U) :
      U.ι x = x
      @[deprecated AlgebraicGeometry.Scheme.Opens.ι_apply (since := "2025-10-07")]
      theorem AlgebraicGeometry.Scheme.Opens.ι_base_apply {X : Scheme} (U : X.Opens) (x : U) :
      U.ι x = x

      Alias of AlgebraicGeometry.Scheme.Opens.ι_apply.

      theorem AlgebraicGeometry.Scheme.Opens.forall_toScheme {X : Scheme} {U : X.Opens} {P : UProp} :
      (∀ (x : U), P x) ∀ (x : X) (hx : x U), P x, hx
      theorem AlgebraicGeometry.Scheme.Opens.exists_toScheme {X : Scheme} {U : X.Opens} {P : UProp} :
      (∃ (x : U), P x) ∃ (x : X) (hx : x U), P x, hx
      @[simp]
      theorem AlgebraicGeometry.Scheme.Opens.mem_ι_image_iff {X : Scheme} (U : X.Opens) {x : U} {V : (↑U).Opens} :
      x (Hom.opensFunctor U.ι).obj V x V
      @[simp]
      theorem AlgebraicGeometry.Scheme.Opens.nonempty_iff {X : Scheme} (U : X.Opens) :
      Nonempty U (↑U).Nonempty

      The global sections of the restriction is isomorphic to the sections on the open set.

      Instances For
        noncomputable def AlgebraicGeometry.Scheme.Opens.stalkIso {X : Scheme} (U : X.Opens) (x : U) :
        (↑U).presheaf.stalk x X.presheaf.stalk x

        The stalks of an open subscheme are isomorphic to the stalks of the original scheme.

        Instances For
          @[simp]
          theorem AlgebraicGeometry.Scheme.Opens.germ_stalkIso_hom {X : Scheme} (U : X.Opens) {V : (↑U).Opens} (x : U) (hx : x V) :
          theorem AlgebraicGeometry.Scheme.Opens.germ_stalkIso_inv {X : Scheme} (U : X.Opens) (V : (↑U).Opens) (x : U) (hx : x V) :

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

          Instances For
            @[simp]
            theorem AlgebraicGeometry.Scheme.openCoverOfIsOpenCover_f {s : Type u_1} (X : Scheme) (U : sX.Opens) (hU : TopologicalSpace.IsOpenCover U) (i : s) :
            (X.openCoverOfIsOpenCover U hU).f i = (U i).ι
            @[simp]
            theorem AlgebraicGeometry.Scheme.openCoverOfIsOpenCover_X {s : Type u_1} (X : Scheme) (U : sX.Opens) (hU : TopologicalSpace.IsOpenCover U) (i : s) :
            (X.openCoverOfIsOpenCover U hU).X i = (U i)
            @[deprecated AlgebraicGeometry.Scheme.openCoverOfIsOpenCover (since := "2025-09-30")]

            Alias of AlgebraicGeometry.Scheme.openCoverOfIsOpenCover.


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

            Instances For
              def AlgebraicGeometry.opensRestrict {X : Scheme} (U : X.Opens) :
              (↑U).Opens { V : X.Opens // V U }

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

              Instances For
                @[simp]
                theorem AlgebraicGeometry.coe_opensRestrict_symm_apply {X : Scheme} (U : X.Opens) (a✝ : { V : X.Opens // V U }) :
                ((opensRestrict U).symm a✝) = U.ι ⁻¹' ((Equiv.subtypeEquivProp ).symm a✝)
                @[simp]
                theorem AlgebraicGeometry.coe_opensRestrict_apply_coe {X : Scheme} (U : X.Opens) (a✝ : (↑U).Opens) :
                ((opensRestrict U) a✝) = (fun (a : U) => a) '' a✝
                @[implicit_reducible]

                A variant where r is first mapped into Γ(X, U) before taking the basic open.

                @[deprecated AlgebraicGeometry.Scheme.Opens.ι_image_basicOpen' (since := "2025-10-07")]

                Alias of AlgebraicGeometry.Scheme.Opens.ι_image_basicOpen'.


                A variant where r is first mapped into Γ(X, U) before taking the basic open.

                @[deprecated AlgebraicGeometry.Scheme.Opens.ι_image_basicOpen_topIso_inv (since := "2025-10-07")]

                Alias of AlgebraicGeometry.Scheme.Opens.ι_image_basicOpen_topIso_inv.

                @[simp]
                theorem AlgebraicGeometry.Scheme.Opens.mem_basicOpen_toScheme {X : Scheme} {U : X.Opens} {V : (↑U).Opens} {r : ((↑U).presheaf.obj (Opposite.op V))} {x : U} :
                x (↑U).basicOpen r x X.basicOpen r
                noncomputable def AlgebraicGeometry.Scheme.homOfLE (X : Scheme) {U V : X.Opens} (e : U V) :
                U V

                If U ≤ V, then U is also a subscheme of V.

                Instances For
                  @[simp]
                  theorem AlgebraicGeometry.Scheme.homOfLE_homOfLE (X : Scheme) {U V W : X.Opens} (e₁ : U V) (e₂ : V W) :
                  @[simp]
                  theorem AlgebraicGeometry.Scheme.homOfLE_apply {X : Scheme} {U V : X.Opens} (e : U V) (x : U) :
                  ((X.homOfLE e) x) = x
                  @[simp]
                  theorem AlgebraicGeometry.Scheme.homOfLE_app {X : Scheme} {U V : X.Opens} (e : U V) (W : (↑V).Opens) :
                  @[simp]
                  theorem AlgebraicGeometry.Scheme.homOfLE_appLE {X : Scheme} {U V : X.Opens} (e : U V) (W : (↑V).Opens) (W' : (↑U).Opens) (e' : W' (TopologicalSpace.Opens.map (X.homOfLE e).base).obj W) :
                  noncomputable def AlgebraicGeometry.Scheme.Opens.iSupOpenCover {J : Type u_1} {X : Scheme} (U : JX.Opens) :
                  (↑(⨆ (i : J), U i)).OpenCover

                  The open cover of ⋃ Vᵢ by Vᵢ.

                  Instances For

                    The functor taking open subsets of X to open subschemes of X.

                    Instances For

                      The functor that restricts to open subschemes and then takes global section is isomorphic to the structure sheaf.

                      Instances For

                        X ∣_ U ∣_ V is isomorphic to X ∣_ V ∣_ U

                        Instances For
                          noncomputable def AlgebraicGeometry.Scheme.Hom.isoImage {X Y : Scheme} (f : X Y) [IsOpenImmersion f] (U : X.Opens) :
                          U ((opensFunctor f).obj U)

                          If f : X ⟶ Y is an open immersion, then for any U : X.Opens, we have the isomorphism U ≅ f ''ᵁ U.

                          Instances For
                            noncomputable def AlgebraicGeometry.Scheme.Hom.isoOpensRange {X Y : Scheme} (f : X Y) [IsOpenImmersion f] :
                            X (opensRange f)

                            If f : X ⟶ Y is an open immersion, then X is isomorphic to its image in Y.

                            Instances For

                              (⊤ : X.Opens) as a scheme is isomorphic to X.

                              Instances For
                                noncomputable def AlgebraicGeometry.Scheme.isoOfEq (X : Scheme) {U V : X.Opens} (e : U = V) :
                                U V

                                If U = V, then X ∣_ U is isomorphic to X ∣_ V.

                                Instances For
                                  theorem AlgebraicGeometry.Scheme.isoOfEq_hom (X : Scheme) {U V : X.Opens} (e : U = V) :
                                  (X.isoOfEq e).hom = X.homOfLE
                                  theorem AlgebraicGeometry.Scheme.isoOfEq_inv (X : Scheme) {U V : X.Opens} (e : U = V) :
                                  (X.isoOfEq e).inv = X.homOfLE

                                  The restriction of an isomorphism onto an open set.

                                  Instances For
                                    noncomputable def AlgebraicGeometry.Scheme.Opens.isoOfLE {X : Scheme} {U V : X.Opens} (hUV : U V) :

                                    If U ≤ V are opens of X, the restriction of U to V is isomorphic to U.

                                    Instances For

                                      For f : R, D(f) as an open subscheme of Spec R is isomorphic to Spec R[1/f].

                                      Instances For

                                        Given a morphism f : X ⟶ Y and an open set U ⊆ Y, we have X ×[Y] U ≅ X |_{f ⁻¹ U}

                                        Instances For
                                          noncomputable def AlgebraicGeometry.morphismRestrict {X Y : Scheme} (f : X Y) (U : Y.Opens) :

                                          The restriction of a morphism X ⟶ Y onto X |_{f ⁻¹ U} ⟶ Y |_ U.

                                          Instances For
                                            def AlgebraicGeometry.«term_∣__» :
                                            Lean.TrailingParserDescr

                                            the notation for restricting a morphism of scheme to an open subset of the target scheme

                                            Instances For
                                              theorem AlgebraicGeometry.isPullback_opens_inf_le {X : Scheme} {U V W : X.Opens} (hU : U W) (hV : V W) :
                                              @[simp]
                                              theorem AlgebraicGeometry.morphismRestrict_base_coe {X Y : Scheme} (f : X Y) (U : Y.Opens) (x : ((TopologicalSpace.Opens.map f.base).obj U)) :
                                              ((f ∣_ U) x) = f x
                                              @[deprecated AlgebraicGeometry.morphismRestrict_appTop (since := "2025-10-14")]

                                              Alias of AlgebraicGeometry.morphismRestrict_appTop.

                                              Restricting a morphism onto the image of an open immersion is isomorphic to the base change along the immersion.

                                              Instances For
                                                noncomputable def AlgebraicGeometry.morphismRestrictEq {X Y : Scheme} (f : X Y) {U V : Y.Opens} (e : U = V) :

                                                The restrictions onto two equal open sets are isomorphic. This currently has bad defeqs when unfolded, but it should not matter for now. Replace this definition if better defeqs are needed.

                                                Instances For

                                                  Restricting a morphism twice is isomorphic to one restriction.

                                                  Instances For

                                                    Restricting a morphism twice onto a basic open set is isomorphic to one restriction.

                                                    Instances For

                                                      The stalk map of a restriction of a morphism is isomorphic to the stalk map of the original map.

                                                      Instances For
                                                        noncomputable def AlgebraicGeometry.Scheme.Hom.resLE {X Y : Scheme} (f : X.Hom Y) (U : Y.Opens) (V : X.Opens) (e : V (TopologicalSpace.Opens.map f.base).obj U) :
                                                        V U

                                                        The restriction of a morphism f : X ⟶ Y to open sets on the source and target.

                                                        Instances For
                                                          @[simp]
                                                          theorem AlgebraicGeometry.Scheme.Hom.map_resLE {X Y : Scheme} (f : X Y) {U : Y.Opens} {V V' : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (i : V' V) :
                                                          @[simp]
                                                          theorem AlgebraicGeometry.Scheme.Hom.resLE_map {X Y : Scheme} (f : X Y) {U U' : Y.Opens} {V : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (i : U U') :
                                                          theorem AlgebraicGeometry.Scheme.Hom.resLE_congr {X Y : Scheme} (f : X Y) {U U' : Y.Opens} {V V' : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (e₁ : U = U') (e₂ : V = V') (P : CategoryTheory.MorphismProperty Scheme) :
                                                          P (resLE f U V e) P (resLE f U' V' )
                                                          @[deprecated AlgebraicGeometry.Scheme.Hom.le_resLE_preimage_iff (since := "2025-10-07")]

                                                          Alias of AlgebraicGeometry.Scheme.Hom.le_resLE_preimage_iff.

                                                          theorem AlgebraicGeometry.Scheme.Hom.resLE_appLE {X Y : Scheme} (f : X Y) {U : Y.Opens} {V : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (O : (↑U).Opens) (W : (↑V).Opens) (e' : W (TopologicalSpace.Opens.map (resLE f U V e).base).obj O) :
                                                          appLE (resLE f U V e) O W e' = appLE f ((opensFunctor U.ι).obj O) ((opensFunctor V.ι).obj W)
                                                          @[simp]
                                                          theorem AlgebraicGeometry.Scheme.Hom.coe_resLE_apply {X Y : Scheme} (f : X Y) {U : Y.Opens} {V : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (x : V) :
                                                          ((resLE f U V e) x) = f x
                                                          @[deprecated AlgebraicGeometry.Scheme.Hom.coe_resLE_apply (since := "2025-10-07")]
                                                          theorem AlgebraicGeometry.Scheme.Hom.coe_resLE_base {X Y : Scheme} (f : X Y) {U : Y.Opens} {V : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (x : V) :
                                                          ((resLE f U V e) x) = f x

                                                          Alias of AlgebraicGeometry.Scheme.Hom.coe_resLE_apply.

                                                          noncomputable def AlgebraicGeometry.Scheme.Hom.resLEStalkMap {X Y : Scheme} (f : X Y) {U : Y.Opens} {V : X.Opens} (e : V (TopologicalSpace.Opens.map f.base).obj U) (x : V) :

                                                          The stalk map of f.resLE U V at x : V is the stalk map of f at x.

                                                          Instances For

                                                            f.resLE U V induces f.appLE U V on global sections.

                                                            Instances For
                                                              theorem AlgebraicGeometry.Scheme.Hom.isPullback_resLE {X Y S T : Scheme} {f : T S} {g : Y X} {iX : X S} {iY : Y T} (H : CategoryTheory.IsPullback g iY iX f) {US : S.Opens} {UT : T.Opens} {UX : X.Opens} (hUST : UT (TopologicalSpace.Opens.map f.base).obj US) (hUSX : UX (TopologicalSpace.Opens.map iX.base).obj US) {UY : Y.Opens} (hUY : UY = (TopologicalSpace.Opens.map g.base).obj UX(TopologicalSpace.Opens.map iY.base).obj UT) :
                                                              CategoryTheory.IsPullback (resLE g UX UY ) (resLE iY UT UY ) (resLE iX US UX hUSX) (resLE f US UT hUST)
                                                              noncomputable def AlgebraicGeometry.Scheme.OpenCover.restrict {X : Scheme} (𝒰 : X.OpenCover) (U : X.Opens) :
                                                              (↑U).OpenCover

                                                              The restriction of an open cover to an open subset.

                                                              Instances For
                                                                @[simp]
                                                                theorem AlgebraicGeometry.Scheme.OpenCover.restrict_X {X : Scheme} (𝒰 : X.OpenCover) (U : X.Opens) (x✝ : 𝒰.I₀) :
                                                                (𝒰.restrict U).X x✝ = ((TopologicalSpace.Opens.map (𝒰.f x✝).base).obj U)
                                                                @[simp]
                                                                theorem AlgebraicGeometry.Scheme.OpenCover.restrict_f {X : Scheme} (𝒰 : X.OpenCover) (U : X.Opens) (x✝ : 𝒰.I₀) :
                                                                (𝒰.restrict U).f x✝ = 𝒰.f x✝ ∣_ U