∀ {C : Type u_2} [inst : CategoryTheory.Category.{u_1, u_2} C] {D : Type u_4}
  [inst_1 : CategoryTheory.Category.{u_3, u_4} D] (F : CategoryTheory.Functor C D) {X Y : C}
  (R : CategoryTheory.Sieve X) (f : F.obj Y ⟶ F.obj X) (motive : (∃ g, F.map g = f ∧ R.arrows g) → Prop)
  (x : ∃ g, F.map g = f ∧ R.arrows g), (∀ (g : Y ⟶ X) (hcomp : F.map g = f) (hg : R.arrows g), motive ⋯) → motive x