-- Lean 4 proof step from Mathlib.CategoryTheory.Shift.Opposite (goal)
Goal:
C : Type u_1
D : Type u_2
inst : Category.{v_1, u_1} C
inst_1 : Category.{v_2, u_2} D
A : Type u_3
inst_2 : AddMonoid A
inst_3 : HasShift.{v_1, u_1, u_3} C A
inst_4 : HasShift.{v_2, u_2, u_3} D A
F : Functor.{v_1, v_2, u_1, u_2} C D
E : Type u_4
inst_5 : Category.{v_3, u_4} E
inst_6 : HasShift.{v_3, u_4, u_3} E A
G : Functor.{v_2, v_3, u_2, u_4} D E
inst_7 : F.CommShift A
inst_8 : G.CommShift A
x : A
x_1 : OppositeShift.{v_1, u_1, u_3} C A
⊢ Eq (α :=
    Quiver.Hom (V := OppositeShift.{v_3, u_4, u_3} E A)
      (Functor.obj (OppositeShift.functor A (F ⋙ G))
        (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor (OppositeShift.{v_1, u_1, u_3} C A) x) x_1))
      (Functor.obj.{v_3, v_3, u_4, u_4} (shiftFunctor (OppositeShift.{v_3, u_4, u_3} E A) x)
        (Functor.obj (C := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A G)
          (Functor.obj (OppositeShift.functor A F) x_1))))
    (Quiver.Hom.op (app (Iso.inv (Functor.commShiftIso (F ⋙ G) x)) (Opposite.unop x_1)) ≫
        Functor.map (shiftFunctor (OppositeShift.{v_3, u_4, u_3} E A) x)
          (𝟙 (Functor.obj (OppositeShift.functor A (F ⋙ G)) x_1)) :
      Quiver.Hom (V := OppositeShift.{v_3, u_4, u_3} E A)
        (Functor.obj (OppositeShift.functor A (F ⋙ G))
          (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor (OppositeShift.{v_1, u_1, u_3} C A) x) x_1))
        (Functor.obj.{v_3, v_3, u_4, u_4} (shiftFunctor (OppositeShift.{v_3, u_4, u_3} E A) x)
          (Functor.obj (C := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A G)
            (Functor.obj (OppositeShift.functor A F) x_1))))
    (𝟙
          (Functor.obj (OppositeShift.functor A (F ⋙ G))
            (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor (OppositeShift.{v_1, u_1, u_3} C A) x) x_1)) ≫
        app
          (Iso.hom
            (Functor.commShiftIso
              (Functor.comp (D := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A F)
                (OppositeShift.functor A G))
              x))
          x_1 :
      Quiver.Hom (V := OppositeShift.{v_3, u_4, u_3} E A)
        (Functor.obj (OppositeShift.functor A (F ⋙ G))
          (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor (OppositeShift.{v_1, u_1, u_3} C A) x) x_1))
        (Functor.obj.{v_3, v_3, u_4, u_4} (shiftFunctor (OppositeShift.{v_3, u_4, u_3} E A) x)
          (Functor.obj (C := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A G)
            (Functor.obj (OppositeShift.functor A F) x_1))))
have w : Eq (α :=
  Quiver.Hom (V := OppositeShift.{v_3, u_4, u_3} E A)
    (Functor.obj (OppositeShift.functor A (F ⋙ G))
      (Functor.obj.{v_1, v_1, u_1, u_1} (shiftFunctor (OppositeShift.{v_1, u_1, u_3} C A) x) x_1))
    (Functor.obj.{v_3, v_3, u_4, u_4} (shiftFunctor (OppositeShift.{v_3, u_4, u_3} E A) x)
      (Functor.obj (C := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A G)
        (Functor.obj (OppositeShift.functor A F) x_1))))
  (Quiver.Hom.op (app (Iso.inv (Functor.commShiftIso (F ⋙ G) x)) (Opposite.unop x_1)))
  (app
    (Iso.hom
      (Functor.commShiftIso
        (Functor.comp (D := OppositeShift.{v_2, u_2, u_3} D A) (OppositeShift.functor A F) (OppositeShift.functor A G))
        x))
    x_1)
Tactic: simp only [Functor.map_id, comp_id, id_comp]