Documentation

TauCeti.AlgebraicGeometry.Modules.Pullback.BaseChange

Base change of quasicoherent sections #

For a morphism of schemes, if an open and its inverse image are affine, sections of the pullback of a quasicoherent sheaf are obtained by extending scalars along the coordinate-ring map. The isomorphism is characterized by sending 1 ⊗ s to the pullback of s. In particular, if a single section generates the sections over the affine open, its pullback generates the sections of the pullback over the inverse image.

For a cartesian square over Spec S ⟶ Spec R, the same section map exhibits sections on the inverse image as the base change from R to S. This is the affine-cover input for cohomology and base change. The module structures remain caller parameters, including at the top open. Use pullbackSectionsEquiv for extension of scalars along the coordinate-ring map, and isBaseChange_pullbackSections for extension along the original base-ring map R ⟶ S.

When R → S is flat, the same holds over every quasi-compact quasi-separated open U, which is flat base change for the sections of a quasicoherent sheaf (isBaseChange_pullbackSections_of_isQuasiSeparated). Cover U by finitely many affine opens V i. Sections over U are the kernel of the differences of restrictions ∏ Γ(V i, M) → ∏ Γ(V i ∩ V j, M), before and after base change, and tensoring with the flat algebra S preserves this kernel. The comparison is a base change on each V i, and it is injective on each quasi-compact V i ∩ V j (liftBaseChange_pullbackSectionsBaseLinear_injective), by the same argument with only the restrictions to the cover. This follows the proof of Mathlib's AlgebraicGeometry.isIso_pushoutSection_of_isQuasiSeparated_of_flat_right for the structure sheaf.

The same holds over affine opens of the bases of an arbitrary cartesian square g' ≫ f = f' ≫ g: for affine opens W of S and W' ⊆ g⁻¹ W of S', an open UX ⊆ f⁻¹ W and UY = g'⁻¹ UX ∩ f'⁻¹ W', pulling back sections exhibits Γ(UY, g'^* M) as Γ(S', W') ⊗[Γ(S, W)] Γ(UX, M), for affine UX (isBaseChange_pullbackSectionsLEBaseLinear) or for quasi-compact quasi-separated UX and flat g (isBaseChange_pullbackSectionsLEBaseLinear_of_isQuasiSeparated). The square restricts to a cartesian square UY ⟶ UX over W' ⟶ W ≅ Spec Γ(S, W) (Mathlib's AlgebraicGeometry.Scheme.Hom.isPullback_resLE), which reduces these to the global statements.

Main results #

References #

If an open and its inverse image are affine, sections of a quasicoherent pullback are the extension of the original section module along the map of coordinate rings. No flatness or finiteness hypothesis is required.

Instances For

    The affine section comparison sends 1 ⊗ s to the pullback of s.

    The inverse affine comparison takes a pulled-back section to 1 ⊗ s.

    If a single section m₀ generates Γ(U, M) over Γ(X, U), then its pullback generates Γ(g⁻¹ U, g^* M) over Γ(Y, g⁻¹ U), when U and g⁻¹ U are affine.

    Pullback of sections is linear over the original base in a commuting square over Spec S ⟶ Spec R. The module structures and scalar towers are caller parameters, so this also preserves the usual actions on global sections when U = ⊤.

    Instances For
      @[simp]

      The base-linear pullback has the same values as the canonical semilinear section map.

      Affine base change of quasicoherent sections over the original base ring. No flatness, finiteness, or Noetherian hypothesis is needed. Caller-supplied module structures are retained.

      Flat sections stay flat after base change. If the sections of a quasi-coherent sheaf M over an affine open U of X form a flat R-module, then for every base change Y = X ×_R S along a ring map R → S, the sections of the pullback g^* M over g⁻¹ U form a flat S-module, being the base change S ⊗_R Γ(M, U).

      Flat base change of sections over a quasi-compact open is injective. Let X be a scheme over R, let R → S be flat and let Y = X ×_R S with projection g : Y ⟶ X. For a quasi-coherent sheaf M on X and a quasi-compact open U of X, the map S ⊗[R] Γ(U, M) → Γ(g⁻¹ U, g^* M), s ⊗ m ↦ s • g^* m, is injective.

      Flat base change of sections over a quasi-compact quasi-separated open. Let X be a scheme over R, let R → S be flat and let Y = X ×_R S with projection g : Y ⟶ X. For a quasi-coherent sheaf M on X and a quasi-compact quasi-separated open U of X, pulling back sections exhibits Γ(g⁻¹ U, g^* M) as the base change S ⊗[R] Γ(U, M).

      noncomputable def AlgebraicGeometry.Scheme.Hom.pullbackSectionsLEBaseLinear {X X' S S' : Scheme} {f : X ⟶ S} {f' : X' ⟶ S'} {g : S' ⟶ S} (g' : X' ⟶ X) (M : X.Modules) (w : CategoryTheory.CommSq g' f' f g) {W : S.Opens} {W' : S'.Opens} (h : W' ≤ (TopologicalSpace.Opens.map g.base).obj W) {UX : X.Opens} (eX : UX ≤ (TopologicalSpace.Opens.map f.base).obj W) {UY : X'.Opens} (eY : UY ≤ (TopologicalSpace.Opens.map g'.base).obj UX) (eY' : UY ≤ (TopologicalSpace.Opens.map f'.base).obj W') [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(M.presheaf.obj (Opposite.op UX))] [Module ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(X.presheaf.obj (Opposite.op UX)) ↑(M.presheaf.obj (Opposite.op UX))] [IsScalarTower ↑(S'.presheaf.obj (Opposite.op W')) ↑(X'.presheaf.obj (Opposite.op UY)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] :

      Pulling back sections along g' in a commutative square g' ≫ f = f' ≫ g (with g' : X' ⟶ X, f : X ⟶ S, f' : X' ⟶ S', g : S' ⟶ S), from an open UX lying over an open W of S to an open UY ⊆ g'⁻¹ UX lying over an open W' ⊆ g⁻¹ W of S', as a map linear over Γ(S, W). Here Γ(S, W) acts on Γ(S', W'), Γ(X, UX) and Γ(X', UY) through g.appLE, f.appLE and f'.appLE; the module structures on the sections are caller parameters compatible with these.

      Instances For
        @[simp]
        theorem AlgebraicGeometry.Scheme.Hom.pullbackSectionsLEBaseLinear_apply {X X' S S' : Scheme} {f : X ⟶ S} {f' : X' ⟶ S'} {g : S' ⟶ S} (g' : X' ⟶ X) (M : X.Modules) (w : CategoryTheory.CommSq g' f' f g) {W : S.Opens} {W' : S'.Opens} (h : W' ≤ (TopologicalSpace.Opens.map g.base).obj W) {UX : X.Opens} (eX : UX ≤ (TopologicalSpace.Opens.map f.base).obj W) {UY : X'.Opens} (eY : UY ≤ (TopologicalSpace.Opens.map g'.base).obj UX) (eY' : UY ≤ (TopologicalSpace.Opens.map f'.base).obj W') [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(M.presheaf.obj (Opposite.op UX))] [Module ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(X.presheaf.obj (Opposite.op UX)) ↑(M.presheaf.obj (Opposite.op UX))] [IsScalarTower ↑(S'.presheaf.obj (Opposite.op W')) ↑(X'.presheaf.obj (Opposite.op UY)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] (s : ↑(M.presheaf.obj (Opposite.op UX))) :
        (pullbackSectionsLEBaseLinear g' M w h eX eY eY') s = (pullbackSectionsLE g' M UX UY eY) s

        The base-linear pullback of sections has the values of Scheme.Hom.pullbackSectionsLE.

        theorem AlgebraicGeometry.Scheme.Hom.isBaseChange_pullbackSectionsLEBaseLinear_of_isQuasiSeparated {X X' S S' : Scheme} {f : X ⟶ S} {f' : X' ⟶ S'} {g : S' ⟶ S} (g' : X' ⟶ X) (M : X.Modules) [SheafOfModules.IsQuasicoherent M] (H : CategoryTheory.IsPullback g' f' f g) [Flat g] {W : S.Opens} (hW : IsAffineOpen W) {W' : S'.Opens} (hW' : IsAffineOpen W') (h : W' ≤ (TopologicalSpace.Opens.map g.base).obj W) {UX : X.Opens} (eX : UX ≤ (TopologicalSpace.Opens.map f.base).obj W) (hUX : IsCompact ↑UX) (hUX' : IsQuasiSeparated ↑UX) {UY : X'.Opens} (hUY : UY = (TopologicalSpace.Opens.map g'.base).obj UX ⊓ (TopologicalSpace.Opens.map f'.base).obj W') [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(M.presheaf.obj (Opposite.op UX))] [Module ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(X.presheaf.obj (Opposite.op UX)) ↑(M.presheaf.obj (Opposite.op UX))] [IsScalarTower ↑(S'.presheaf.obj (Opposite.op W')) ↑(X'.presheaf.obj (Opposite.op UY)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] :
        IsBaseChange (↑(S'.presheaf.obj (Opposite.op W'))) (pullbackSectionsLEBaseLinear g' M ⋯ h eX ⋯ ⋯)

        Flat base change of sections over affine opens of the bases. Let g' ≫ f = f' ≫ g be a cartesian square with g : S' ⟶ S flat, and M a quasi-coherent sheaf on X. For affine opens W of S and W' ⊆ g⁻¹ W of S', a quasi-compact quasi-separated open UX ⊆ f⁻¹ W of X and UY = g'⁻¹ UX ∩ f'⁻¹ W', pulling back sections exhibits Γ(UY, g'^* M) as the base change Γ(S', W') ⊗[Γ(S, W)] Γ(UX, M).

        theorem AlgebraicGeometry.Scheme.Hom.isBaseChange_pullbackSectionsLEBaseLinear {X X' S S' : Scheme} {f : X ⟶ S} {f' : X' ⟶ S'} {g : S' ⟶ S} (g' : X' ⟶ X) (M : X.Modules) [SheafOfModules.IsQuasicoherent M] (H : CategoryTheory.IsPullback g' f' f g) {W : S.Opens} (hW : IsAffineOpen W) {W' : S'.Opens} (hW' : IsAffineOpen W') (h : W' ≤ (TopologicalSpace.Opens.map g.base).obj W) {UX : X.Opens} (eX : UX ≤ (TopologicalSpace.Opens.map f.base).obj W) (hUX : IsAffineOpen UX) {UY : X'.Opens} (hUY : UY = (TopologicalSpace.Opens.map g'.base).obj UX ⊓ (TopologicalSpace.Opens.map f'.base).obj W') [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(M.presheaf.obj (Opposite.op UX))] [Module ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [Module ↑(S.presheaf.obj (Opposite.op W)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(X.presheaf.obj (Opposite.op UX)) ↑(M.presheaf.obj (Opposite.op UX))] [IsScalarTower ↑(S'.presheaf.obj (Opposite.op W')) ↑(X'.presheaf.obj (Opposite.op UY)) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] [IsScalarTower ↑(S.presheaf.obj (Opposite.op W)) ↑(S'.presheaf.obj (Opposite.op W')) ↑(((Modules.pullback g').obj M).presheaf.obj (Opposite.op UY))] :
        IsBaseChange (↑(S'.presheaf.obj (Opposite.op W'))) (pullbackSectionsLEBaseLinear g' M ⋯ h eX ⋯ ⋯)

        Base change of sections over affine opens. Let g' ≫ f = f' ≫ g be a cartesian square and M a quasi-coherent sheaf on X. For affine opens W of S, W' ⊆ g⁻¹ W of S' and UX ⊆ f⁻¹ W of X, and UY = g'⁻¹ UX ∩ f'⁻¹ W', pulling back sections exhibits Γ(UY, g'^* M) as the base change Γ(S', W') ⊗[Γ(S, W)] Γ(UX, M). No flatness is needed.