{C : Type u} →
  {A : Type u_1} →
    [inst : CategoryTheory.Category.{v, u} C] →
      {D : Type u_2} →
        [inst_1 : CategoryTheory.Category.{v_1, u_2} D] →
          [inst_2 : AddMonoid A] →
            [inst_3 : CategoryTheory.HasShift D A] →
              {F : CategoryTheory.Functor C D} →
                F.FullyFaithful →
                  (s : A → CategoryTheory.Functor C C) →
                    ((i : A) → (s i).comp F ≅ F.comp (CategoryTheory.shiftFunctor D i)) →
                      (a b : A) → s (a + b) ≅ (s a).comp (s b)