∀ {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 Z : C}
  (b : X ⟶ Z) (P : C) (f : P ⟶ X) (Q : C) (g : Q ⟶ X) (hgb : CategoryTheory.CategoryStruct.comp g b = 0)
  (motive :
    { l //
        CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ b hgb)) l =
          CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g) } →
      Prop)
  (x :
    { l //
      CategoryTheory.CategoryStruct.comp
          (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ b hgb)) l =
        CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g) }),
  (∀
      (b' :
        (CategoryTheory.Limits.CokernelCofork.ofπ b hgb).pt ⟶
          CategoryTheory.Limits.cokernel (CategoryTheory.Limits.coprod.desc f g))
      (hb' :
        CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Limits.Cofork.π (CategoryTheory.Limits.CokernelCofork.ofπ b hgb)) b' =
          CategoryTheory.Limits.cokernel.π (CategoryTheory.Limits.coprod.desc f g)),
      motive ⟨b', hb'⟩) →
    motive x