∀ {C : Type u_2} {inst : CategoryTheory.Category.{u_1, u_2} C} {X Y : C} {f : X ⟶ Y}
  (motive : CategoryTheory.SplitMono f → Prop) (h : CategoryTheory.SplitMono f),
  (∀ (retraction : Y ⟶ X)
      (id :
        autoParam (CategoryTheory.CategoryStruct.comp f retraction = CategoryTheory.CategoryStruct.id X)
          CategoryTheory.SplitMono.id._autoParam),
      motive { retraction := retraction, id := id }) →
    motive h