-- Module: Mathlib.Algebra.Homology.BifunctorShift
Goal:
C₁ : Type u_1
C₂ : Type u_2
D : Type u_3
inst : Category.{v_1, u_1} C₁
inst_1 : Category.{v_2, u_2} C₂
inst_2 : Category.{v_3, u_3} D
inst_3 : Preadditive.{v_1, u_1} C₁
inst_4 : HasZeroMorphisms.{v_2, u_2} C₂
inst_5 : Preadditive.{v_3, u_3} D
K₁ L₁ : CochainComplex.{v_1, u_1, 0} C₁ ℤ
f₁ : K₁ ⟶ L₁
K₂ : CochainComplex.{v_2, u_2, 0} C₂ ℤ
F : C₁ ⥤ CategoryTheory.Functor.{v_2, v_3, u_2, u_3} C₂ D
inst_6 : F.Additive
inst_7 : ∀ (X₁ : C₁), (F.obj X₁).PreservesZeroMorphisms
x : ℤ
inst_8 : K₁.HasMapBifunctor K₂ F
i j : ℤ
h_1 : (ComplexShape.up ℤ).Rel i j
h :
  ∀ (i_1 : ℤ),
    Eq (α :=
      X
          (X
            (Functor.obj
              (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                (Functor.obj (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                  K₁))
              K₂)
            i)
          i_1 ⟶
        X
          (X
            (Functor.obj (HomologicalComplex₂.shiftFunctor₁ D x)
              (Functor.obj (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ)) K₁)
                K₂))
            j)
          i_1)
      (Hom.f
        (Iso.hom
            ((fun (x_1 : ℤ) ↦
                (Iso.refl
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1) :
                  Iso (C := HomologicalComplex.{v_3, u_3, 0} D (ComplexShape.up ℤ))
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1)
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1)))
              i) ≫
          d
            (Functor.obj (HomologicalComplex₂.shiftFunctor₁ D x)
              (Functor.obj (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ)) K₁)
                K₂))
            i j)
        i_1)
      (Hom.f
        (d
            (Functor.obj
              (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                (Functor.obj (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                  K₁))
              K₂)
            i j ≫
          Iso.hom
            ((fun (x_1 : ℤ) ↦
                (Iso.refl
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1) :
                  Iso (C := HomologicalComplex.{v_3, u_3, 0} D (ComplexShape.up ℤ))
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1)
                    (X
                      (Functor.obj
                        (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                          (Functor.obj
                            (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x)
                            K₁))
                        K₂)
                      x_1)))
              j))
        i_1)
⊢ Eq (α :=
    Quiver.Hom (V := HomologicalComplex.{v_3, u_3, 0} D (ComplexShape.up ℤ))
      (X
        (Functor.obj
          (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
            (Functor.obj (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
          K₂)
        i)
      (X
        (Functor.obj (HomologicalComplex₂.shiftFunctor₁ D x)
          (Functor.obj (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ)) K₁) K₂))
        j))
    (Iso.hom
        ((fun (x_1 : ℤ) ↦
            (Iso.refl
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1) :
              Iso (C := HomologicalComplex.{v_3, u_3, 0} D (ComplexShape.up ℤ))
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1)
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1)))
          i) ≫
      d
        (Functor.obj (HomologicalComplex₂.shiftFunctor₁ D x)
          (Functor.obj (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ)) K₁) K₂))
        i j)
    (d
        (Functor.obj
          (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
            (Functor.obj (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
          K₂)
        i j ≫
      Iso.hom
        ((fun (x_1 : ℤ) ↦
            (Iso.refl
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1) :
              Iso (C := HomologicalComplex.{v_3, u_3, 0} D (ComplexShape.up ℤ))
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1)
                (X
                  (Functor.obj
                    (Functor.obj (F.mapBifunctorHomologicalComplex (ComplexShape.up ℤ) (ComplexShape.up ℤ))
                      (Functor.obj
                        (CategoryTheory.shiftFunctor (HomologicalComplex.{v_1, u_1, 0} C₁ (ComplexShape.up ℤ)) x) K₁))
                    K₂)
                  x_1)))
          j))

Tactic:
ext