-- Lean 4 proof step from Mathlib.CategoryTheory.Limits.Shapes.Reflexive (goal)
Goal:
C : Type u
inst : Category.{v, u} C
A B : C
f g : A ⟶ B
s : B ⟶ A
sl : s ≫ f = 𝟙 B
sr : s ≫ g = 𝟙 B
X : WalkingReflexivePair
⊢ Eq.{v + 1} (α :=
    Quiver.Hom.{v, u} (V := C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C))
    (match (motive :=
        (X Y : WalkingReflexivePair) →
          (X ⟶ Y) →
            Quiver.Hom.{v, u} (V := C)
              (match (motive := WalkingReflexivePair → C) X with
                | zero => B
                | one => A :
                C)
              (match (motive := WalkingReflexivePair → C) Y with
                | zero => B
                | one => A :
                C))
        X, X, Hom.id X ≫ Hom.id X with
      | x, .(x), Hom.id .(x) =>
        𝟙
          (match (motive := WalkingReflexivePair → C) x with
          | zero => B
          | one => A)
      | .(one), .(zero), Hom.left => f
      | .(one), .(zero), Hom.right => g
      | .(zero), .(one), Hom.reflexion => s
      | .(one), .(one), Hom.rightCompReflexion => g ≫ s
      | .(one), .(one), Hom.leftCompReflexion => f ≫ s :
      Quiver.Hom.{v, u} (V := C)
        (match (motive := WalkingReflexivePair → C) X with
          | zero => B
          | one => A :
          C)
        (match (motive := WalkingReflexivePair → C) X with
          | zero => B
          | one => A :
          C))
    (CategoryStruct.comp (Y :=
        match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A)
        (match (motive :=
          (X Y : WalkingReflexivePair) →
            (X ⟶ Y) →
              Quiver.Hom.{v, u} (V := C)
                (match (motive := WalkingReflexivePair → C) X with
                  | zero => B
                  | one => A :
                  C)
                (match (motive := WalkingReflexivePair → C) Y with
                  | zero => B
                  | one => A :
                  C))
          X, X, Hom.id X with
        | x, .(x), Hom.id .(x) =>
          𝟙
            (match (motive := WalkingReflexivePair → C) x with
            | zero => B
            | one => A)
        | .(one), .(zero), Hom.left => f
        | .(one), .(zero), Hom.right => g
        | .(zero), .(one), Hom.reflexion => s
        | .(one), .(one), Hom.rightCompReflexion => g ≫ s
        | .(one), .(one), Hom.leftCompReflexion => f ≫ s)
        (match (motive :=
          (X Y : WalkingReflexivePair) →
            (X ⟶ Y) →
              Quiver.Hom.{v, u} (V := C)
                (match (motive := WalkingReflexivePair → C) X with
                  | zero => B
                  | one => A :
                  C)
                (match (motive := WalkingReflexivePair → C) Y with
                  | zero => B
                  | one => A :
                  C))
          X, X, Hom.id X with
        | x, .(x), Hom.id .(x) =>
          𝟙
            (match (motive := WalkingReflexivePair → C) x with
            | zero => B
            | one => A)
        | .(one), .(zero), Hom.left => f
        | .(one), .(zero), Hom.right => g
        | .(zero), .(one), Hom.reflexion => s
        | .(one), .(one), Hom.rightCompReflexion => g ≫ s
        | .(one), .(one), Hom.leftCompReflexion => f ≫ s) :
      Quiver.Hom.{v, u} (V := C)
        (match (motive := WalkingReflexivePair → C) X with
          | zero => B
          | one => A :
          C)
        (match (motive := WalkingReflexivePair → C) X with
          | zero => B
          | one => A :
          C))
have id : Eq.{v + 1} (α :=
  Quiver.Hom.{v, u} (V := C)
    (match (motive := WalkingReflexivePair → C) X with
      | zero => B
      | one => A :
      C)
    (match (motive := WalkingReflexivePair → C) X with
      | zero => B
      | one => A :
      C))
  (match (motive :=
      (X Y : WalkingReflexivePair) →
        (X ⟶ Y) →
          Quiver.Hom.{v, u} (V := C)
            (match (motive := WalkingReflexivePair → C) X with
              | zero => B
              | one => A :
              C)
            (match (motive := WalkingReflexivePair → C) Y with
              | zero => B
              | one => A :
              C))
      X, X, Hom.id X ≫ Hom.id X with
    | x, .(x), Hom.id .(x) =>
      𝟙
        (match (motive := WalkingReflexivePair → C) x with
        | zero => B
        | one => A)
    | .(one), .(zero), Hom.left => f
    | .(one), .(zero), Hom.right => g
    | .(zero), .(one), Hom.reflexion => s
    | .(one), .(one), Hom.rightCompReflexion => g ≫ s
    | .(one), .(one), Hom.leftCompReflexion => f ≫ s :
    Quiver.Hom.{v, u} (V := C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C))
  (𝟙
      (match (motive := WalkingReflexivePair → C) X with
      | zero => B
      | one => A) :
    Quiver.Hom.{v, u} (V := C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C)
      (match (motive := WalkingReflexivePair → C) X with
        | zero => B
        | one => A :
        C))
Tactic: simp only [Category.id_comp, Category.comp_id, Category.assoc, sl, sr,
        reassoc_of% sl, reassoc_of% sr]