# The category of graded objects #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

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
Instances for category_theory.graded_object
@[protected, instance]
Equations
@[nolint, reducible]
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) :
@[simp]
theorem category_theory.graded_object.eq_to_hom_apply (C : Type u) {β : Type w} {X Y : β C} (h : X = Y) (b : β) :
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 : β) (n : ) :
= X (t + n 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 : β) (n : ) :
= f (t + n 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]
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
Instances for category_theory.graded_object.total
@[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]
Equations