ModuleFinitePresentationExtOneBaseChange.lean
Nyll.EtaleFundamentalGroups.Purity.Local.FinitePresentationExtOneBaseChange
13 declarations indexed from sourceView source ↗ Module documentation
Flat base change for Ext¹ from a finitely presented module
Over a noetherian ring, the first syzygy of a finitely presented module is again finitely presented. The contravariant long exact Ext sequence of a finite-free presentation therefore expresses Ext¹ as a cokernel of two Hom modules to which finite-presentation base change applies.
Imports8
- Nyll.EtaleFundamentalGroups.Purity.Local.FinitePresentationHomBaseChange
- Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
- Mathlib.Algebra.Category.ModuleCat.Descent
- Mathlib.Algebra.Category.ModuleCat.Ext.DimensionShifting
- Mathlib.Algebra.Homology.DerivedCategory.Ext.Map
- Mathlib.LinearAlgebra.TensorProduct.Map
- Mathlib.RingTheory.TensorProduct.IsBaseChangeRightExact
- Mathlib.RingTheory.TensorProduct.Free
Imported by2
Declarations
EtaleFundamentalGroups.extendScalarsTensorAlgebra_eq
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.extendScalarsTensorModule_eq
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.extendScalarsTensorEquiv
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.extendScalarsTensorEquiv_tmul
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.extendScalarsTensorEquiv_symm_tmul
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.moduleCatExtendScalarsLinearOverBase
DocumentationExtension of scalars is linear over the base ring when the target module category is equipped with its restriction-of-scalars linear structure.
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
EtaleFundamentalGroups.moduleCatExtendScalarsPreservesFiniteLimits
DocumentationFlat extension of scalars preserves finite limits. This instance is the exactness input needed by the functorial map on Ext.
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
EtaleFundamentalGroups.moduleCatExtendScalarsAdditive
DocumentationA flat extension-of-scalars functor is additive.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
EtaleFundamentalGroups.extIsScalarTowerOfAlgebra
DocumentationThe R-action on an Ext group of S-modules obtained from the restriction-of-scalars linear category structure is compatible with its native S-action.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
/-- A flat extension-of-scalars functor is additive. -/
noncomputable local instance moduleCatExtendScalarsAdditive [Module.Flat R S] :
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).Additive :=
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).additive_of_preserves_binary_products
EtaleFundamentalGroups.extendScalars_mapExtZero_isBaseChange
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
/-- A flat extension-of-scalars functor is additive. -/
noncomputable local instance moduleCatExtendScalarsAdditive [Module.Flat R S] :
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).Additive :=
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).additive_of_preserves_binary_products
/-- The `R`-action on an `Ext` group of `S`-modules obtained from the
restriction-of-scalars linear category structure is compatible with its
native `S`-action. -/
noncomputable local instance extIsScalarTowerOfAlgebra
(X Y : ModuleCat.{u} S) (i : ℕ) :
IsScalarTower R S (Ext X Y i) :=
IsScalarTower.of_algebraMap_smul fun r x ↦ by
simp only [Ext.smul_eq_comp_mk₀]
congr 2
variable [Small.{u} R] [Small.{u} S] [Module.Flat R S]
EtaleFundamentalGroups.ext_precomp_extClass_exact
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
/-- A flat extension-of-scalars functor is additive. -/
noncomputable local instance moduleCatExtendScalarsAdditive [Module.Flat R S] :
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).Additive :=
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).additive_of_preserves_binary_products
/-- The `R`-action on an `Ext` group of `S`-modules obtained from the
restriction-of-scalars linear category structure is compatible with its
native `S`-action. -/
noncomputable local instance extIsScalarTowerOfAlgebra
(X Y : ModuleCat.{u} S) (i : ℕ) :
IsScalarTower R S (Ext X Y i) :=
IsScalarTower.of_algebraMap_smul fun r x ↦ by
simp only [Ext.smul_eq_comp_mk₀]
congr 2
variable [Small.{u} R] [Small.{u} S] [Module.Flat R S]
EtaleFundamentalGroups.ext_precomp_extClass_surjective_of_projective
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
/-- A flat extension-of-scalars functor is additive. -/
noncomputable local instance moduleCatExtendScalarsAdditive [Module.Flat R S] :
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).Additive :=
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).additive_of_preserves_binary_products
/-- The `R`-action on an `Ext` group of `S`-modules obtained from the
restriction-of-scalars linear category structure is compatible with its
native `S`-action. -/
noncomputable local instance extIsScalarTowerOfAlgebra
(X Y : ModuleCat.{u} S) (i : ℕ) :
IsScalarTower R S (Ext X Y i) :=
IsScalarTower.of_algebraMap_smul fun r x ↦ by
simp only [Ext.smul_eq_comp_mk₀]
congr 2
variable [Small.{u} R] [Small.{u} S] [Module.Flat R S]
EtaleFundamentalGroups.mapExtOne_isBaseChange_of_finitePresentation_of_flat
DocumentationFor a flat algebra over a noetherian ring, the functorial map on Ext¹ from a finitely presented first variable is a base-change map.
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.Abelian
open scoped TensorProduct ModuleCat.Algebra ChangeOfRings
namespace EtaleFundamentalGroups
universe u
variable {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
/-- Extension of scalars is linear over the base ring when the target module
category is equipped with its restriction-of-scalars linear structure. -/
noncomputable local instance moduleCatExtendScalarsLinearOverBase :
(ModuleCat.extendScalars (algebraMap R S)).Linear R where
map_smul f r := by
apply ModuleCat.hom_injective
dsimp only [ModuleCat.extendScalars, ModuleCat.ExtendScalars.map',
ModuleCat.hom_ofHom]
let : Algebra R S := ((algebraMap S S).comp (algebraMap R S)).toAlgebra
exact LinearMap.baseChange_smul r f.hom
/-- Flat extension of scalars preserves finite limits. This instance is
the exactness input needed by the functorial map on `Ext`. -/
noncomputable local instance moduleCatExtendScalarsPreservesFiniteLimits
[Module.Flat R S] :
PreservesFiniteLimits
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)) :=
ModuleCat.preservesFiniteLimits_extendScalars_of_flat
(RingHom.flat_algebraMap_iff.mpr inferInstance)
/-- A flat extension-of-scalars functor is additive. -/
noncomputable local instance moduleCatExtendScalarsAdditive [Module.Flat R S] :
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).Additive :=
(ModuleCat.extendScalars.{u, u, u} (algebraMap R S)).additive_of_preserves_binary_products
/-- The `R`-action on an `Ext` group of `S`-modules obtained from the
restriction-of-scalars linear category structure is compatible with its
native `S`-action. -/
noncomputable local instance extIsScalarTowerOfAlgebra
(X Y : ModuleCat.{u} S) (i : ℕ) :
IsScalarTower R S (Ext X Y i) :=
IsScalarTower.of_algebraMap_smul fun r x ↦ by
simp only [Ext.smul_eq_comp_mk₀]
congr 2
variable [Small.{u} R] [Small.{u} S] [Module.Flat R S]