The category of graded objects
For any type β
, a β
-graded object over some category C
is just
a function β → C
into the objects of C
.
We put the "pointwise" category structure on these, as the non-dependent specialization of
category_theory.pi
.
We describe the comap
functors obtained by precomposing with functions β → γ
.
As a consequence a fixed element (e.g. 1
) in an additive group β
provides a shift
functor on β
-graded objects
When C
has coproducts we construct the total
functor graded_object β C ⥤ C
,
show that it is faithful, and deduce that when C
is concrete so is graded_object β C
.
A type synonym for β → C
, used for β
-graded objects in a category C
.
Equations
- category_theory.graded_object β C = (β → C)
Equations
- category_theory.inhabited_graded_object β C = {default := λ (b : β), inhabited.default C}
A type synonym for β → C
, used for β
-graded objects in a category C
with a shift functor given by translation by s
.
Equations
- category_theory.graded_object.category_of_graded_objects β = category_theory.pi (λ (_x : β), C)
The natural isomorphism comparing between pulling back along two propositionally equal functions.
Equations
- category_theory.graded_object.comap_eq C h = {hom := {app := λ (X : γ → C) (b : β), category_theory.eq_to_hom _, naturality' := _}, inv := {app := λ (X : γ → C) (b : β), category_theory.eq_to_hom _, naturality' := _}, hom_inv_id' := _, inv_hom_id' := _}
The equivalence between β-graded objects and γ-graded objects, given an equivalence between β and γ.
Equations
- category_theory.graded_object.comap_equiv C e = {functor := category_theory.pi.comap (λ (_x : β), C) ⇑(e.symm), inverse := category_theory.pi.comap (λ (_x : γ), C) ⇑e, unit_iso := category_theory.graded_object.comap_eq C _ ≪≫ (category_theory.pi.comap_comp (λ (_x : β), C) ⇑e ⇑(e.symm)).symm, counit_iso := category_theory.pi.comap_comp (λ (_x : γ), C) ⇑(e.symm) ⇑e ≪≫ category_theory.graded_object.comap_eq C _, functor_unit_iso_comp' := _}
Equations
- category_theory.graded_object.has_zero_morphisms β = {has_zero := λ (X Y : category_theory.graded_object β C), {zero := λ (b : β), 0}, comp_zero' := _, zero_comp' := _}
Equations
- category_theory.graded_object.has_zero_object β = {zero := λ (b : β), 0, unique_to := λ (X : category_theory.graded_object β C), {to_inhabited := {default := λ (b : β), 0}, uniq := _}, unique_from := λ (X : category_theory.graded_object β C), {to_inhabited := {default := λ (b : β), 0}, uniq := _}}
The total object of a graded object is the coproduct of the graded components.
Equations
- category_theory.graded_object.total β C = {obj := λ (X : category_theory.graded_object β C), ∐ λ (i : ulift β), X i.down, map := λ (X Y : category_theory.graded_object β C) (f : X ⟶ Y), category_theory.limits.sigma.map (λ (i : ulift β), f i.down), map_id' := _, map_comp' := _}
The total
functor taking a graded object to the coproduct of its graded components is faithful.
To prove this, we need to know that the coprojections into the coproduct are monomorphisms,
which follows from the fact we have zero morphisms and decidable equality for the grading.
Equations
- _ = _
Equations
- category_theory.graded_object.category_theory.has_forget₂ β C = {forget₂ := category_theory.graded_object.total β C (λ (J : Type u), _inst_3 J), forget_comp := _}