Tensoring with a flat module is an exact functor #
In this file we prove that tensoring with a flat module is an exact functor.
Main results #
Module.Flat.iff_lTensor_preserves_shortComplex_exact: anR-moduleMis flat if and only if for every exact sequenceA ⟶ B ⟶ C,M ⊗ A ⟶ M ⊗ B ⟶ M ⊗ Cis also exact.Module.Flat.iff_rTensor_preserves_shortComplex_exact: anR-moduleMis flat if and only if for every short exact sequenceA ⟶ B ⟶ C,A ⊗ M ⟶ B ⊗ M ⟶ C ⊗ Mis also exact.
TODO #
- Relate flatness with
Tor
theorem Module.Flat.lTensor_shortComplex_exact {R : Type u} [CommRing R] (M : ModuleCat R) [Flat R ↑M] (C : CategoryTheory.ShortComplex (ModuleCat R)) (hC : C.Exact) :
theorem Module.Flat.rTensor_shortComplex_exact {R : Type u} [CommRing R] (M : ModuleCat R) [Flat R ↑M] (C : CategoryTheory.ShortComplex (ModuleCat R)) (hC : C.Exact) :
theorem Module.Flat.iff_lTensor_preserves_shortComplex_exact {R : Type u} [CommRing R] (M : ModuleCat R) :
Flat R ↑M ↔ ∀ (C : CategoryTheory.ShortComplex (ModuleCat R)),
C.Exact → (C.map (CategoryTheory.MonoidalCategory.tensorLeft M)).Exact
theorem Module.Flat.iff_rTensor_preserves_shortComplex_exact {R : Type u} [CommRing R] (M : ModuleCat R) :
Flat R ↑M ↔ ∀ (C : CategoryTheory.ShortComplex (ModuleCat R)),
C.Exact → (C.map (CategoryTheory.MonoidalCategory.tensorRight M)).Exact
theorem Module.Flat.iff_preservesFiniteLimits_tensorLeft {R : Type u} [CommRing R] (M : ModuleCat R) :
instance Module.Flat.instPreservesFiniteLimitsModuleCatTensorLeftOfCarrier {R : Type u} [CommRing R] (M : ModuleCat R) [Flat R ↑M] :
theorem Module.Flat.iff_preservesFiniteLimits_tensorRight {R : Type u} [CommRing R] (M : ModuleCat R) :
instance Module.Flat.instPreservesFiniteLimitsModuleCatTensorRightOfCarrier {R : Type u} [CommRing R] (M : ModuleCat R) [Flat R ↑M] :