{C : Type u_1} →
  {D : Type u_2} →
    {I : Type u_3} →
      {J : Type u_4} →
        [inst : CategoryTheory.Category.{v_1, u_1} C] →
          [inst_1 : CategoryTheory.Category.{v_2, u_2} D] →
            [inst_2 : Zero I] →
              [inst_3 : DecidableEq I] →
                [inst_4 : CategoryTheory.Limits.HasInitial C] →
                  (F : CategoryTheory.Functor C (CategoryTheory.Functor D D)) →
                    (X : C) →
                      (F.obj X ≅ CategoryTheory.Functor.id D) →
                        [∀ (Y : D),
                              CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) (F.flip.obj Y)] →
                          (p : I × J → J) →
                            (∀ (j : J), p (0, j) = j) →
                              (Y : CategoryTheory.GradedObject J D) →
                                [inst_6 :
                                    (((CategoryTheory.GradedObject.mapBifunctor F I J).obj
                                              ((CategoryTheory.GradedObject.single₀ I).obj X)).obj
                                          Y).HasMap
                                      p] →
                                  CategoryTheory.GradedObject.mapBifunctorMapObj F p
                                      ((CategoryTheory.GradedObject.single₀ I).obj X) Y ≅
                                    Y