forget₂ (fgModule K) (Module K)
creates all finite limits. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
And hence fgModule K
has all finite limits.
Future work #
After generalising fgModule
to allow the ring and the module to live in different universes,
generalize this construction so we can take limits over smaller diagrams,
as is done for the other algebraic categories.
Analogous constructions for Noetherian modules.
@[protected, instance]
def
fgModule.category_theory.limits.pi_obj.finite_dimensional
{k : Type v}
[field k]
{J : Type}
[fintype J]
(Z : J → Module k)
[∀ (j : J), finite_dimensional k ↥(Z j)] :
finite_dimensional k (↥∏ λ (j : J), Z j)
@[protected, instance]
def
fgModule.category_theory.limits.limit.finite_dimensional
{J : Type}
[category_theory.small_category J]
[category_theory.fin_category J]
{k : Type v}
[field k]
(F : J ⥤ fgModule k) :
Finite limits of finite dimensional vectors spaces are finite dimensional, because we can realise them as subobjects of a finite product.
noncomputable
def
fgModule.forget₂_creates_limit
{J : Type}
[category_theory.small_category J]
[category_theory.fin_category J]
{k : Type v}
[field k]
(F : J ⥤ fgModule k) :
The forgetful functor from fgModule k
to Module k
creates all finite limits.
Equations
- fgModule.forget₂_creates_limit F = category_theory.creates_limit_of_fully_faithful_of_iso {obj := category_theory.limits.limit (F ⋙ category_theory.forget₂ (fgModule k) (Module k)) _, property := _} (category_theory.iso.refl ((category_theory.forget₂ (fgModule k) (Module k)).obj {obj := category_theory.limits.limit (F ⋙ category_theory.forget₂ (fgModule k) (Module k)) _, property := _}))
@[protected, instance]
noncomputable
def
fgModule.category_theory.forget₂.category_theory.creates_limits_of_shape
{J : Type}
[category_theory.small_category J]
[category_theory.fin_category J]
{k : Type v}
[field k] :
Equations
@[protected, instance]
@[protected, instance]
noncomputable
def
fgModule.category_theory.forget₂.category_theory.limits.preserves_finite_limits
{k : Type v}
[field k] :