-- Module: Mathlib.CategoryTheory.Triangulated.Triangulated
Goal:
C : Type u_1
inst : Category.{v_1, u_1} C
inst_1 : Preadditive.{v_1, u_1} C
inst_2 : HasZeroObject.{v_1, u_1} C
inst_3 : HasShift.{v_1, u_1, 0} C ℤ
inst_4 : ∀ (n : ℤ), Functor.Additive.{v_1, u_1, v_1, u_1} (shiftFunctor C n)
inst_5 : Pretriangulated.{v_1, u_1} C
inst_6 : IsTriangulated.{v_1, u_1} C
X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C
u₁₂ : X₁ ⟶ X₂
u₂₃ : X₂ ⟶ X₃
u₁₃ : X₁ ⟶ X₃
comm : u₁₂ ≫ u₂₃ = u₁₃
v₁₂ : Z₁₂ ⟶ X₁
w₁₂ : X₂ ⟶ Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂
h₁₂ :
  Membership.mem (γ := Set (Triangle.{v_1, u_1} C)) (@distinguishedTriangles _ _ inst_2 _ inst_1 inst_4 _)
    (Triangle.mk v₁₂ u₁₂ w₁₂)
v₂₃ : Z₂₃ ⟶ X₂
w₂₃ : X₃ ⟶ Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₂₃
h₂₃ :
  Membership.mem (γ := Set (Triangle.{v_1, u_1} C)) (@distinguishedTriangles _ _ inst_2 _ inst_1 inst_4 _)
    (Triangle.mk v₂₃ u₂₃ w₂₃)
v₁₃ : Z₁₃ ⟶ X₁
w₁₃ : X₃ ⟶ Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₃
h₁₃ :
  Membership.mem (γ := Set (Triangle.{v_1, u_1} C)) (@distinguishedTriangles _ _ inst_2 _ inst_1 inst_4 _)
    (Triangle.mk v₁₃ u₁₃ w₁₃)
o : Octahedron comm ⋯ ⋯ ⋯ := someOctahedron comm ⋯ ⋯ ⋯
m₁ : Z₁₂ ⟶ Z₁₃ :=
  Iso.inv (shiftShiftNeg Z₁₂ 1) ≫ Functor.map (shiftFunctor C (A := ℤ) (-1)) o.m₁ ≫ Iso.hom (shiftShiftNeg Z₁₃ 1)
m₃ : Z₁₃ ⟶ Z₂₃ :=
  Iso.inv (shiftShiftNeg Z₁₃ 1) ≫ Functor.map (shiftFunctor C (A := ℤ) (-1)) o.m₃ ≫ Iso.hom (shiftShiftNeg Z₂₃ 1)
eq₁ : w₁₂ ≫ o.m₁ = u₂₃ ≫ w₁₃
eq₂ : o.m₁ ≫ Functor.map (shiftFunctor C (A := ℤ) 1) v₁₃ = Functor.map (shiftFunctor C (A := ℤ) 1) v₁₂
eq₃ : w₁₃ ≫ o.m₃ = w₂₃
eq₄ :
  Functor.map (shiftFunctor C (A := ℤ) 1) v₁₃ ≫ Functor.map (shiftFunctor C (A := ℤ) 1) u₁₂ =
    o.m₃ ≫ Functor.map (shiftFunctor C (A := ℤ) 1) v₂₃
refine_5 :
  Eq (α :=
    Z₂₃ ⟶
      Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1)
        (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
          (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂)))
    (v₂₃ ≫
      w₁₂ ≫ Functor.map (shiftFunctor C (A := ℤ) 1) (NatTrans.app (Iso.inv (shiftFunctorCompIsoId C 1 (-1) ⋯)) Z₁₂))
    (CategoryStruct.comp (Y :=
      Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
        (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₂₃))
      (NatTrans.app (Iso.inv (shiftFunctorCompIsoId C 1 (-1) ⋯)) Z₂₃)
      (Functor.map (shiftFunctor C (A := ℤ) (-1)) (Functor.map (shiftFunctor C (A := ℤ) 1) v₂₃) ≫
        Functor.map (shiftFunctor C (A := ℤ) (-1)) (Functor.map (shiftFunctor C (A := ℤ) 1) w₁₂) ≫
          NatTrans.app (Iso.hom (shiftFunctorComm C 1 (-1)))
            (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂)))
⊢ (v₂₃ ≫ w₁₂) ≫
      Functor.map (shiftFunctor C (A := ℤ) 1) (NatTrans.app (Iso.inv (shiftFunctorCompIsoId C 1 (-1) ⋯)) Z₁₂) =
    NatTrans.app (Iso.inv (shiftFunctorCompIsoId C 1 (-1) ⋯)) Z₂₃ ≫
      HSMul.hSMul (β :=
        Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
            (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₂₃) ⟶
          Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1)
            (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
              (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂)))
        (Int.negOnePow (-1))
        (Functor.map (shiftFunctor C (A := ℤ) (-1))
              ((-Functor.map (shiftFunctor C (A := ℤ) 1) v₂₃) ≫ Functor.map (shiftFunctor C (A := ℤ) 1) w₁₂) ≫
            NatTrans.app (Iso.hom (shiftFunctorComm C 1 (-1)))
              (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂) :
          Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
              (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₂₃) ⟶
            Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1)
              (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) (-1))
                (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor C (A := ℤ) 1) Z₁₂)))

Tactic:
simp only [Int.reduceNeg, assoc, Int.negOnePow_neg, Int.negOnePow_one, neg_comp,
      Functor.map_neg, Functor.map_comp, smul_neg, Units.neg_smul, one_smul, neg_neg]

Premises used: CategoryTheory.Category.assoc, Int.reduceNeg, neg_neg, smul_neg, Int.negOnePow_neg, Int.negOnePow_one, one_smul, Units.neg_smul, CategoryTheory.Preadditive.neg_comp, CategoryTheory.Functor.map_comp, CategoryTheory.Functor.map_neg