{C : Type u} →
  [inst : CategoryTheory.Category.{v, u} C] →
    {F : CategoryTheory.Functor C (Type w)} →
      {motive : CategoryTheory.Subfunctor F → Sort u_1} →
        ((obj : (U : C) → Set (F.obj U)) →
            (map : ∀ {U V : C} (i : U ⟶ V), obj U ⊆ F.map i ⁻¹' obj V) → motive { obj := obj, map := map }) →
          (t : CategoryTheory.Subfunctor F) → motive t