Lean4
/-- The shift functor on `DifferentialObject S C`. -/
@[simps]
def shiftFunctor (n : S) : DifferentialObject S C ⥤ DifferentialObject S C
where
obj
X :=
{ obj := X.obj⟦n⟧
d := X.d⟦n⟧' ≫ (shiftComm _ _ _).hom
d_squared := by
rw [Functor.map_comp, Category.assoc, shiftComm_hom_comp_assoc, ← Functor.map_comp_assoc, X.d_squared,
Functor.map_zero, zero_comp] }
map
f :=
{ f := f.f⟦n⟧'
comm := by
dsimp
rw [Category.assoc]
erw [shiftComm_hom_comp]
rw [← Functor.map_comp_assoc, f.comm, Functor.map_comp_assoc]
rfl }
map_id X := by ext1; dsimp; rw [Functor.map_id]
map_comp f g := by ext1; dsimp; rw [Functor.map_comp]