File: Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean

full_name: ModuleCat.FilteredColimits.M
code: /-- The colimit of `F ⋙ forget₂ (ModuleCat R) AddCommGrp` in the category `AddCommGrp`.
In the following, we will show that this has the structure of an `R`-module.
-/
abbrev M : AddCommGrp 
goal: AddCommGrp

full_name: ModuleCat.FilteredColimits.M.mk
code: /-- The canonical projection into the colimit, as a quotient type. -/
abbrev M.mk : (Σ j, F.obj j) → M F 
goal: (j : J) × ↑(F.obj j) → ↑(ModuleCat.FilteredColimits.M F)

full_name: ModuleCat.FilteredColimits.M.mk_eq
code: theorem M.mk_eq (x y : Σ j, F.obj j)
    (h : ∃ (k : J) (f : x.1 ⟶ k) (g : y.1 ⟶ k), F.map f x.2 = F.map g y.2) : M.mk F x = M.mk F y 
goal: ModuleCat.FilteredColimits.M.mk F x = ModuleCat.FilteredColimits.M.mk F y

full_name: ModuleCat.FilteredColimits.colimitSMulAux
code: /-- The "unlifted" version of scalar multiplication in the colimit. -/
def colimitSMulAux (r : R) (x : Σ j, F.obj j) : M F 
goal: ↑(ModuleCat.FilteredColimits.M F)

full_name: ModuleCat.FilteredColimits.colimitSMulAux_eq_of_rel
code: theorem colimitSMulAux_eq_of_rel (r : R) (x y : Σ j, F.obj j)
    (h : Types.FilteredColimit.Rel (F ⋙ forget (ModuleCat R)) x y) :
    colimitSMulAux F r x = colimitSMulAux F r y 
goal: ModuleCat.FilteredColimits.colimitSMulAux F r x = ModuleCat.FilteredColimits.colimitSMulAux F r y

full_name: ModuleCat.FilteredColimits.colimitHasSMul
code: /-- Scalar multiplication in the colimit. See also `colimitSMulAux`. -/
instance colimitHasSMul : SMul R (M F) 
goal: SMul R ↑(ModuleCat.FilteredColimits.M F)

full_name: ModuleCat.FilteredColimits.colimit_smul_mk_eq
code: @[simp]
theorem colimit_smul_mk_eq (r : R) (x : Σ j, F.obj j) : r • M.mk F x = M.mk F ⟨x.1, r • x.2⟩ 
goal: r • ModuleCat.FilteredColimits.M.mk F x = ModuleCat.FilteredColimits.M.mk F ⟨x.fst, r • x.snd⟩

full_name: _private.Mathlib.Algebra.Category.ModuleCat.FilteredColimits.0.ModuleCat.FilteredColimits.colimitModule.one_smul
code: private theorem colimitModule.one_smul (x : (M F)) : (1 : R) • x = x 
goal: 1 • x = x

full_name: ModuleCat.FilteredColimits.colimitMulAction
code: instance colimitMulAction : MulAction R (M F) 
goal: MulAction R ↑(ModuleCat.FilteredColimits.M F)

full_name: ModuleCat.FilteredColimits.colimitSMulWithZero
code: instance colimitSMulWithZero : SMulWithZero R (M F) 
goal: SMulWithZero R ↑(ModuleCat.FilteredColimits.M F)

full_name: _private.Mathlib.Algebra.Category.ModuleCat.FilteredColimits.0.ModuleCat.FilteredColimits.colimitModule.add_smul
code: private theorem colimitModule.add_smul (r s : R) (x : (M F)) : (r + s) • x = r • x + s • x 
goal: (r + s) • x = r • x + s • x

full_name: ModuleCat.FilteredColimits.colimitModule
code: instance colimitModule : Module R (M F) 
goal: Module R ↑(ModuleCat.FilteredColimits.M F)

full_name: ModuleCat.FilteredColimits.colimit
code: /-- The bundled `R`-module giving the filtered colimit of a diagram. -/
def colimit : ModuleCatMax.{v, u, u} R 
goal: ModuleCatMax R

full_name: ModuleCat.FilteredColimits.coconeMorphism
code: /-- The linear map from a given `R`-module in the diagram to the colimit module. -/
def coconeMorphism (j : J) : F.obj j ⟶ colimit F 
goal: F.obj j ⟶ ModuleCat.FilteredColimits.colimit F

full_name: ModuleCat.FilteredColimits.colimitCocone
code: /-- The cocone over the proposed colimit module. -/
def colimitCocone : Cocone F 
goal: CategoryTheory.Limits.Cocone F

full_name: ModuleCat.FilteredColimits.colimitDesc
code: /-- Given a cocone `t` of `F`, the induced monoid linear map from the colimit to the cocone point.
We already know that this is a morphism between additive groups. The only thing left to see is that
it is a linear map, i.e. preserves scalar multiplication.
-/
def colimitDesc (t : Cocone F) : colimit F ⟶ t.pt 
goal: ModuleCat.FilteredColimits.colimit F ⟶ t.pt

full_name: ModuleCat.FilteredColimits.colimitCoconeIsColimit
code: /-- The proposed colimit cocone is a colimit in `ModuleCat R`. -/
def colimitCoconeIsColimit : IsColimit (colimitCocone F) 
goal: CategoryTheory.Limits.IsColimit (ModuleCat.FilteredColimits.colimitCocone F)

full_name: ModuleCat.FilteredColimits.forget₂AddCommGroupPreservesFilteredColimits
code: instance forget₂AddCommGroupPreservesFilteredColimits :
    PreservesFilteredColimits (forget₂ (ModuleCat.{u} R) AddCommGrp.{u}) 
goal: CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget₂ (ModuleCat R) AddCommGrp)

full_name: ModuleCat.FilteredColimits.forgetPreservesFilteredColimits
code: instance forgetPreservesFilteredColimits : PreservesFilteredColimits (forget (ModuleCat.{u} R)) 
goal: CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget (ModuleCat R))