File: Mathlib/Algebra/Homology/DifferentialObject.lean

full_name: CategoryTheory.DifferentialObject.objEqToHom
code: /-- Since `eqToHom` only preserves the fact that `X.X i = X.X j` but not `i = j`, this definition
is used to aid the simplifier. -/
abbrev objEqToHom {i j : β} (h : i = j) :
    X.obj i ⟶ X.obj j 
goal: X.obj i ⟶ X.obj j

full_name: CategoryTheory.DifferentialObject.objEqToHom_refl
code: @[simp]
theorem objEqToHom_refl (i : β) : X.objEqToHom (refl i) = 𝟙 _ 
goal: X.objEqToHom ⋯ = 𝟙 (X.obj i)

full_name: CategoryTheory.DifferentialObject.objEqToHom_d
code: @[reassoc (attr := simp)]
theorem objEqToHom_d {x y : β} (h : x = y) :
    X.objEqToHom h ≫ X.d y = X.d x ≫ X.objEqToHom (by cases h; rfl) 
goal: X.objEqToHom h ≫ X.d y = X.d x ≫ X.objEqToHom ⋯

full_name: CategoryTheory.DifferentialObject.d_squared_apply
code: @[reassoc (attr := simp)]
theorem d_squared_apply {x : β} : X.d x ≫ X.d _ = 0 
goal: X.d x ≫ X.d ((fun b_1 => b_1 + { as := 1 }.as • b) x) = 0

full_name: CategoryTheory.DifferentialObject.eqToHom_f'
code: @[reassoc (attr := simp)]
theorem eqToHom_f' {X Y : DifferentialObject ℤ (GradedObjectWithShift b V)} (f : X ⟶ Y) {x y : β}
    (h : x = y) : X.objEqToHom h ≫ f.f y = f.f x ≫ Y.objEqToHom h 
goal: X.objEqToHom h ≫ f.f y = f.f x ≫ Y.objEqToHom h

full_name: HomologicalComplex.d_eqToHom
code: @[reassoc (attr := simp, nolint simpNF)]
theorem d_eqToHom (X : HomologicalComplex V (ComplexShape.up' b)) {x y z : β} (h : y = z) :
    X.d x y ≫ eqToHom (congr_arg X.X h) = X.d x z 
goal: X.d x y ≫ CategoryTheory.eqToHom ⋯ = X.d x z

full_name: HomologicalComplex.dgoToHomologicalComplex
code: /-- The functor from differential graded objects to homological complexes.
-/
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
goal: CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V) ⥤
  HomologicalComplex V (ComplexShape.up' b)

full_name: HomologicalComplex.dgoToHomologicalComplex_obj_d
code: /-- The functor from differential graded objects to homological complexes.
-/
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
goal: ((HomologicalComplex.dgoToHomologicalComplex b V).obj X).d i j = if h : i + b = j then X.d i ≫ X.objEqToHom ⋯ else 0

full_name: HomologicalComplex.dgoToHomologicalComplex_obj_X
code: /-- The functor from differential graded objects to homological complexes.
-/
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
goal: ((HomologicalComplex.dgoToHomologicalComplex b V).obj X).X i = X.obj i

full_name: HomologicalComplex.dgoToHomologicalComplex_map_f
code: /-- The functor from differential graded objects to homological complexes.
-/
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
goal: ((HomologicalComplex.dgoToHomologicalComplex b V).map f).f i = f.f i

full_name: HomologicalComplex.homologicalComplexToDGO_obj_obj
code: /-- The functor from homological complexes to differential graded objects.
-/
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
goal: ((HomologicalComplex.homologicalComplexToDGO b V).obj X).obj i = X.X i

full_name: HomologicalComplex.homologicalComplexToDGO_obj_d
code: /-- The functor from homological complexes to differential graded objects.
-/
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
goal: ((HomologicalComplex.homologicalComplexToDGO b V).obj X).d i = X.d i ((fun b_1 => b_1 + { as := 1 }.as • b) i)

full_name: HomologicalComplex.homologicalComplexToDGO
code: /-- The functor from homological complexes to differential graded objects.
-/
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
goal: HomologicalComplex V (ComplexShape.up' b) ⥤
  CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)

full_name: HomologicalComplex.homologicalComplexToDGO_map_f
code: /-- The functor from homological complexes to differential graded objects.
-/
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
goal: ((HomologicalComplex.homologicalComplexToDGO b V).map f).f i = f.f i

full_name: HomologicalComplex.dgoEquivHomologicalComplexUnitIso_inv_app_f
code: /-- The unit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexUnitIso :
    𝟭 (DifferentialObject ℤ (GradedObjectWithShift b V)) ≅
      dgoToHomologicalComplex b V ⋙ homologicalComplexToDGO b V 
goal: ((HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V).inv.app X).f i = 𝟙 (X.obj i)

full_name: HomologicalComplex.dgoEquivHomologicalComplexUnitIso
code: /-- The unit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexUnitIso :
    𝟭 (DifferentialObject ℤ (GradedObjectWithShift b V)) ≅
      dgoToHomologicalComplex b V ⋙ homologicalComplexToDGO b V 
goal: 𝟭 (CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) ≅
  HomologicalComplex.dgoToHomologicalComplex b V ⋙ HomologicalComplex.homologicalComplexToDGO b V

full_name: HomologicalComplex.dgoEquivHomologicalComplexUnitIso_hom_app_f
code: /-- The unit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexUnitIso :
    𝟭 (DifferentialObject ℤ (GradedObjectWithShift b V)) ≅
      dgoToHomologicalComplex b V ⋙ homologicalComplexToDGO b V 
goal: ((HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V).hom.app X).f i = 𝟙 (X.obj i)

full_name: HomologicalComplex.dgoEquivHomologicalComplexCounitIso_hom_app_f
code: /-- The counit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexCounitIso :
    homologicalComplexToDGO b V ⋙ dgoToHomologicalComplex b V ≅
      𝟭 (HomologicalComplex V (ComplexShape.up' b)) 
goal: ((HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V).hom.app X).f i = 𝟙 (X.X i)

full_name: HomologicalComplex.dgoEquivHomologicalComplexCounitIso
code: /-- The counit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexCounitIso :
    homologicalComplexToDGO b V ⋙ dgoToHomologicalComplex b V ≅
      𝟭 (HomologicalComplex V (ComplexShape.up' b)) 
goal: HomologicalComplex.homologicalComplexToDGO b V ⋙ HomologicalComplex.dgoToHomologicalComplex b V ≅
  𝟭 (HomologicalComplex V (ComplexShape.up' b))

full_name: HomologicalComplex.dgoEquivHomologicalComplexCounitIso_inv_app_f
code: /-- The counit isomorphism for `dgoEquivHomologicalComplex`.
-/
@[simps!]
def dgoEquivHomologicalComplexCounitIso :
    homologicalComplexToDGO b V ⋙ dgoToHomologicalComplex b V ≅
      𝟭 (HomologicalComplex V (ComplexShape.up' b)) 
goal: ((HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V).inv.app X).f i = 𝟙 (X.X i)

full_name: HomologicalComplex.dgoEquivHomologicalComplex_unitIso
code: /-- The category of differential graded objects in `V` is equivalent
to the category of homological complexes in `V`.
-/
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).unitIso = HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V

full_name: HomologicalComplex.dgoEquivHomologicalComplex
code: /-- The category of differential graded objects in `V` is equivalent
to the category of homological complexes in `V`.
-/
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
goal: CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V) ≌
  HomologicalComplex V (ComplexShape.up' b)

full_name: HomologicalComplex.dgoEquivHomologicalComplex_counitIso
code: /-- The category of differential graded objects in `V` is equivalent
to the category of homological complexes in `V`.
-/
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).counitIso =
  HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V

full_name: HomologicalComplex.dgoEquivHomologicalComplex_inverse
code: /-- The category of differential graded objects in `V` is equivalent
to the category of homological complexes in `V`.
-/
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).inverse = HomologicalComplex.homologicalComplexToDGO b V

full_name: HomologicalComplex.dgoEquivHomologicalComplex_functor
code: /-- The category of differential graded objects in `V` is equivalent
to the category of homological complexes in `V`.
-/
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).functor = HomologicalComplex.dgoToHomologicalComplex b V