-- 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
⊢ Eq.{v + 1} (α :=
    Quiver.Hom.{v, u} (V := C)
      (match (motive := WalkingReflexivePair → C) zero with
        | zero => B
        | one => A :
        C)
      (match (motive := WalkingReflexivePair → C) one 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))
        zero, one, Hom.reflexion ≫ Hom.id one 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) zero with
          | zero => B
          | one => A :
          C)
        (match (motive := WalkingReflexivePair → C) one with
          | zero => B
          | one => A :
          C))
    (CategoryStruct.comp (Y :=
        match (motive := WalkingReflexivePair → C) one 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))
          zero, one, Hom.reflexion 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))
          one, one, Hom.id one 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) zero with
          | zero => B
          | one => A :
          C)
        (match (motive := WalkingReflexivePair → C) one with
          | zero => B
          | one => A :
          C))
have reflexion : (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))
    zero, one, Hom.reflexion ≫ Hom.id one 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) =
  s
Tactic: simp only [Category.id_comp, Category.comp_id, Category.assoc, sl, sr,
        reassoc_of% sl, reassoc_of% sr]