∀ {C : Type u_2} [inst : CategoryTheory.Category.{u_1, u_2} C] [inst_1 : CategoryTheory.Limits.HasZeroMorphisms C]
  [inst_2 : CategoryTheory.Limits.HasFiniteCoproducts C] [inst_3 : CategoryTheory.Limits.HasCokernels C] {X Y : C}
  (a : X ⟶ Y) (P : C) (f : P ⟶ X) (hfa : CategoryTheory.CategoryStruct.comp f a = 0) (Q : C) (g : Q ⟶ X)
  (motive :
    { l //
        CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ a hfa)) l =
          CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g) } →
      Prop)
  (x :
    { l //
      CategoryTheory.CategoryStruct.comp
          (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ a hfa)) l =
        CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g) }),
  (∀
      (a' :
        (CategoryTheory.Limits.CokernelCofork.ofπ a hfa).pt ⟶
          CategoryTheory.Limits.cokernel (CategoryTheory.Limits.coprod.desc f g))
      (ha' :
        CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ a hfa)) a' =
          CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g)),
      motive ⟨a', ha'⟩) →
    motive x