Differential objects in a category. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
A differential object in a category with zero morphisms and a shift is
an object X
equipped with
a morphism d : X ⟶ X⟦1⟧
, such that d^2 = 0
.
We build the category of differential objects, and some basic constructions such as the forgetful functor, zero morphisms and zero objects, and the shift functor on differential objects.
- X : C
- d : self.X ⟶ (category_theory.shift_functor C 1).obj self.X
- d_squared' : self.d ≫ (category_theory.shift_functor C 1).map self.d = 0 . "obviously"
A differential object in a category with zero morphisms and a shift is
an object X
equipped with
a morphism d : X ⟶ X⟦1⟧
, such that d^2 = 0
.
Instances for category_theory.differential_object
- category_theory.differential_object.has_sizeof_inst
- category_theory.differential_object.category_of_differential_objects
- category_theory.differential_object.has_zero_morphisms
- category_theory.differential_object.has_zero_object
- category_theory.differential_object.concrete_category_of_differential_objects
- category_theory.differential_object.category_theory.has_forget₂
- category_theory.differential_object.int.category_theory.has_shift
- f : X.X ⟶ Y.X
- comm' : X.d ≫ (category_theory.shift_functor C 1).map self.f = self.f ≫ Y.d . "obviously"
A morphism of differential objects is a morphism commuting with the differentials.
Instances for category_theory.differential_object.hom
- category_theory.differential_object.hom.has_sizeof_inst
The identity morphism of a differential object.
The composition of morphisms of differential objects.
Equations
- category_theory.differential_object.category_of_differential_objects = {to_category_struct := {to_quiver := {hom := category_theory.differential_object.hom _inst_3}, id := category_theory.differential_object.hom.id _inst_3, comp := λ (X Y Z : category_theory.differential_object C) (f : X ⟶ Y) (g : Y ⟶ Z), category_theory.differential_object.hom.comp f g}, id_comp' := _, comp_id' := _, assoc' := _}
The forgetful functor taking a differential object to its underlying object.
Equations
- category_theory.differential_object.forget C = {obj := λ (X : category_theory.differential_object C), X.X, map := λ (X Y : category_theory.differential_object C) (f : X ⟶ Y), f.f, map_id' := _, map_comp' := _}
Instances for category_theory.differential_object.forget
Equations
- category_theory.differential_object.has_zero_morphisms C = {has_zero := λ (X Y : category_theory.differential_object C), {zero := {f := 0, comm' := _}}, comp_zero' := _, zero_comp' := _}
An isomorphism of differential objects gives an isomorphism of the underlying objects.
Equations
- category_theory.differential_object.iso_app f = {hom := f.hom.f, inv := f.inv.f, hom_inv_id' := _, inv_hom_id' := _}
An isomorphism of differential objects can be constructed from an isomorphism of the underlying objects that commutes with the differentials.
Equations
- category_theory.differential_object.mk_iso f hf = {hom := {f := f.hom, comm' := hf}, inv := {f := f.inv, comm' := _}, hom_inv_id' := _, inv_hom_id' := _}
A functor F : C ⥤ D
which commutes with shift functors on C
and D
and preserves zero morphisms
can be lifted to a functor differential_object C ⥤ differential_object D
.
Equations
- category_theory.functor.map_differential_object D F η hF = {obj := λ (X : category_theory.differential_object C), {X := F.obj X.X, d := F.map X.d ≫ η.app X.X, d_squared' := _}, map := λ (X Y : category_theory.differential_object C) (f : X ⟶ Y), {f := F.map f.f, comm' := _}, map_id' := _, map_comp' := _}
Equations
The category of differential objects itself has a shift functor.
The shift functor on differential_object C
.
Equations
- category_theory.differential_object.shift_functor C n = {obj := λ (X : category_theory.differential_object C), {X := (category_theory.shift_functor C n).obj X.X, d := (category_theory.shift_functor C n).map X.d ≫ (category_theory.shift_comm X.X 1 n).hom, d_squared' := _}, map := λ (X Y : category_theory.differential_object C) (f : X ⟶ Y), {f := (category_theory.shift_functor C n).map f.f, comm' := _}, map_id' := _, map_comp' := _}
The shift functor on differential_object C
is additive.
The shift by zero is naturally isomorphic to the identity.
Equations
- category_theory.differential_object.int.category_theory.has_shift C = category_theory.has_shift_mk (category_theory.differential_object C) ℤ {F := category_theory.differential_object.shift_functor C _inst_3, zero := category_theory.differential_object.shift_zero C _inst_3, add := category_theory.differential_object.shift_functor_add C _inst_3, assoc_hom_app := _, zero_add_hom_app := _, add_zero_hom_app := _}