-- Lean 4 proof step from Mathlib.CategoryTheory.Abelian.LeftDerived (goal)
Goal:
C : Type u
inst : Category.{v, u} C
D : Type u_1
inst_1 : Category.{v_1, u_1} D
inst_2 : Abelian.{v, u} C
inst_3 : HasProjectiveResolutions.{v, u} C
inst_4 : Abelian.{v_1, u_1} D
F G : Functor.{v, v_1, u, u_1} C D
inst_5 : F.Additive
inst_6 : G.Additive
α : F ⟶ G
X : C
P : ProjectiveResolution.{v, u} X
⊢ Eq (α :=
    Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
      (Functor.obj F.leftDerivedToHomotopyCategory X)
      (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
        (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
    (CategoryStruct.comp (Y := Functor.obj G.leftDerivedToHomotopyCategory X)
        (Functor.map (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (NatTrans.app (NatTrans.mapHomologicalComplex α (ComplexShape.down ℕ))
            (Quotient.as (r := homotopic C (ComplexShape.down ℕ)) (Functor.obj (projectiveResolutions C) X))))
        (Functor.map (G.mapHomotopyCategory (ComplexShape.down ℕ)) (Iso.hom P.iso) ≫
          𝟙
            (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
              (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex))) :
      Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
        (Functor.obj F.leftDerivedToHomotopyCategory X)
        (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
    (CategoryStruct.comp (Y :=
        Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (Functor.obj (F.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex))
        (Functor.map (F.mapHomotopyCategory (ComplexShape.down ℕ)) (Iso.hom P.iso) ≫
          𝟙
            (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
              (Functor.obj (F.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
        (Functor.map (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (NatTrans.app (NatTrans.mapHomologicalComplex α (ComplexShape.down ℕ)) P.complex)) :
      Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
        (Functor.obj F.leftDerivedToHomotopyCategory X)
        (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
have rw : Eq (α :=
  Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
    (Functor.obj F.leftDerivedToHomotopyCategory X)
    (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
      (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
  (CategoryStruct.comp (Y := Functor.obj G.leftDerivedToHomotopyCategory X)
      (Functor.map (HomotopyCategory.quotient D (ComplexShape.down ℕ))
        (NatTrans.app (NatTrans.mapHomologicalComplex α (ComplexShape.down ℕ))
          (Quotient.as (r := homotopic C (ComplexShape.down ℕ)) (Functor.obj (projectiveResolutions C) X))))
      (Functor.map (G.mapHomotopyCategory (ComplexShape.down ℕ)) (Iso.hom P.iso) ≫
        𝟙
          (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
            (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex))) :
    Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
      (Functor.obj F.leftDerivedToHomotopyCategory X)
      (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
        (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
  (CategoryStruct.comp (Y :=
      Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
        (Functor.obj (F.mapHomologicalComplex (ComplexShape.down ℕ))
          ((Functor.obj (HomotopyCategory.quotient C (ComplexShape.down ℕ)) P.complex).as (r :=
            homotopic C (ComplexShape.down ℕ)))))
      (Functor.map (F.mapHomotopyCategory (ComplexShape.down ℕ)) (Iso.hom P.iso))
      (𝟙
          (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
            (Functor.obj (F.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)) ≫
        Functor.map (HomotopyCategory.quotient D (ComplexShape.down ℕ))
          (NatTrans.app (NatTrans.mapHomologicalComplex α (ComplexShape.down ℕ)) P.complex)) :
    Quiver.Hom (V := HomotopyCategory.{v_1, u_1, 0} D (ComplexShape.down ℕ))
      (Functor.obj F.leftDerivedToHomotopyCategory X)
      (Functor.obj (HomotopyCategory.quotient D (ComplexShape.down ℕ))
        (Functor.obj (G.mapHomologicalComplex (ComplexShape.down ℕ)) P.complex)))
Tactic: rw [assoc]