# 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.

def category_theory.graded_object (β : Type w) (C : Type u) :
Type (max w u)

A type synonym for β → C, used for β-graded objects in a category C.

Equations
• = (β → C)
@[protected, instance]
def category_theory.inhabited_graded_object (β : Type w) (C : Type u) [inhabited C] :
Equations
@[nolint]
def category_theory.graded_object_with_shift {β : Type w} (s : β) (C : Type u) :
Type (max w u)

A type synonym for β → C, used for β-graded objects in a category C with a shift functor given by translation by s.

@[protected, instance]
Equations
def category_theory.graded_object.eval {C : Type u} {β : Type w} (b : β) :

The projection of a graded object to its i-th component.

Equations
@[simp]
theorem category_theory.graded_object.eval_obj {C : Type u} {β : Type w} (b : β) (X : C) :
= X b
@[simp]
theorem category_theory.graded_object.eval_map {C : Type u} {β : Type w} (b : β) (X Y : C) (f : X Y) :
= f b
@[simp]
theorem category_theory.graded_object.comap_eq_hom_app (C : Type u) {β γ : Type w} {f g : β → γ} (h : f = g) (X : γ → C) (b : β) :
def category_theory.graded_object.comap_eq (C : Type u) {β γ : Type w} {f g : β → γ} (h : f = g) :
category_theory.pi.comap (λ (_x : γ), C) f category_theory.pi.comap (λ (_x : γ), C) g

The natural isomorphism comparing between pulling back along two propositionally equal functions.

Equations
@[simp]
theorem category_theory.graded_object.comap_eq_inv_app (C : Type u) {β γ : Type w} {f g : β → γ} (h : f = g) (X : γ → C) (b : β) :
theorem category_theory.graded_object.comap_eq_symm (C : Type u) {β γ : Type w} {f g : β → γ} (h : f = g) :
theorem category_theory.graded_object.comap_eq_trans (C : Type u) {β γ : Type w} {f g h : β → γ} (k : f = g) (l : g = h) :
def category_theory.graded_object.comap_equiv (C : Type u) {β γ : Type w} (e : β γ) :

The equivalence between β-graded objects and γ-graded objects, given an equivalence between β and γ.

Equations
@[simp]
theorem category_theory.graded_object.comap_equiv_functor (C : Type u) {β γ : Type w} (e : β γ) :
= category_theory.pi.comap (λ (_x : β), C) (e.symm)
@[simp]
theorem category_theory.graded_object.comap_equiv_counit_iso (C : Type u) {β γ : Type w} (e : β γ) :
@[simp]
theorem category_theory.graded_object.comap_equiv_inverse (C : Type u) {β γ : Type w} (e : β γ) :
= category_theory.pi.comap (λ (_x : γ), C) e
@[simp]
theorem category_theory.graded_object.comap_equiv_unit_iso (C : Type u) {β γ : Type w} (e : β γ) :
@[protected, instance]
def category_theory.graded_object.has_shift {C : Type u} {β : Type u_1} (s : β) :
Equations
@[simp]
theorem category_theory.graded_object.shift_functor_obj_apply {C : Type u} {β : Type u_1} (s : β) (X : β → C) (t : β) :
= X (t + s)
@[simp]
theorem category_theory.graded_object.shift_functor_map_apply {C : Type u} {β : Type u_1} (s : β) {X Y : C} (f : X Y) (t : β) :
= f (t + s)
@[protected, instance]
Equations
@[simp]
theorem category_theory.graded_object.zero_apply {C : Type u} (β : Type w) (X Y : C) (b : β) :
0 b = 0
@[protected, instance]
Equations
noncomputable def category_theory.graded_object.total (β : Type) (C : Type u)  :

The total object of a graded object is the coproduct of the graded components.

Equations
@[protected, instance]

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.

@[protected, instance]
Equations
@[protected, instance]
noncomputable def category_theory.graded_object.category_theory.has_forget₂ (β : Type) (C : Type (u+1))  :
Equations