{C : Type u_2} →
  [inst : CategoryTheory.Category.{u_1, u_2} C] →
    {X Y : C} →
      (f : Y ⟶ X) →
        (motive : (CategoryTheory.Sieve.generateSingleton f).arrows.category → Sort u_3) →
          (x : (CategoryTheory.Sieve.generateSingleton f).arrows.category) →
            ((obj : CategoryTheory.Over X) →
                (hT : (CategoryTheory.Sieve.generateSingleton f).arrows obj.hom) →
                  motive { obj := obj, property := hT }) →
              motive x