The category of R-modules has all limits #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Further, these limits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types.
Equations
- Module.add_comm_group_obj F j = id (F.obj j).is_add_comm_group
Equations
- Module.module_obj F j = id (F.obj j).is_module
The flat sections of a functor into Module R
form a submodule of all sections.
Equations
Equations
Equations
- Module.limit_module F = show module R ↥(Module.sections_submodule F), from (Module.sections_submodule F).module
limit.π (F ⋙ forget Ring) j
as a ring_hom
.
Equations
- Module.limit_π_linear_map F j = {to_fun := (category_theory.limits.types.limit_cone (F ⋙ category_theory.forget (Module R))).π.app j, map_add' := _, map_smul' := _}
Construction of a limit cone in Module R
.
(Internal use only; use the limits API.)
Equations
- Module.has_limits.limit_cone F = {X := Module.of R (category_theory.limits.types.limit_cone (F ⋙ category_theory.forget (Module R))).X (Module.limit_module F), π := {app := Module.limit_π_linear_map F, naturality' := _}}
Witness that the limit cone in Module R
is a limit cone.
(Internal use only; use the limits API.)
Equations
- Module.has_limits.limit_cone_is_limit F = category_theory.limits.is_limit.of_faithful (category_theory.forget (Module R)) (category_theory.limits.types.limit_cone_is_limit (F ⋙ category_theory.forget (Module R))) (λ (s : category_theory.limits.cone F), {to_fun := λ (v : ((category_theory.forget (Module R)).map_cone s).X), ⟨λ (j : J), ((category_theory.forget (Module R)).map_cone s).π.app j v, _⟩, map_add' := _, map_smul' := _}) _
The category of R-modules has all limits.
An auxiliary declaration to speed up typechecking.
The forgetful functor from R-modules to abelian groups preserves all limits.
Equations
- Module.forget₂_AddCommGroup_preserves_limits_of_size = {preserves_limits_of_shape := λ (J : Type v) (𝒥 : category_theory.category J), {preserves_limit := λ (F : J ⥤ Module R), category_theory.limits.preserves_limit_of_preserves_limit_cone (Module.has_limits.limit_cone_is_limit F) (Module.forget₂_AddCommGroup_preserves_limits_aux F)}}
The forgetful functor from R-modules to types preserves all limits.
Equations
- Module.forget_preserves_limits_of_size = {preserves_limits_of_shape := λ (J : Type v) (𝒥 : category_theory.category J), {preserves_limit := λ (F : J ⥤ Module R), category_theory.limits.preserves_limit_of_preserves_limit_cone (Module.has_limits.limit_cone_is_limit F) (category_theory.limits.types.limit_cone_is_limit (F ⋙ category_theory.forget (Module R)))}}
The diagram (in the sense of category_theory
)
of an unbundled direct_limit
of modules.
The cocone
on direct_limit_diagram
corresponding to
the unbundled direct_limit
of modules.
In direct_limit_is_colimit
we show that it is a colimit cocone.
Equations
- Module.direct_limit_cocone G f = {X := Module.of R (module.direct_limit G f) (module.direct_limit.module G f), ι := {app := module.direct_limit.of R ι G f, naturality' := _}}
The unbundled direct_limit
of modules is a colimit
in the sense of category_theory
.
Equations
- Module.direct_limit_is_colimit G f = {desc := λ (s : category_theory.limits.cocone (Module.direct_limit_diagram G f)), module.direct_limit.lift R ι G f s.ι.app _, fac' := _, uniq' := _}