ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.SingleFunctors.shiftIso_add'
lemma shiftIso_add' (n m mn : A) (hnm : m + n = mn) (a a' a'' : A)
    (ha' : n + a = a') (ha'' : m + a' = a'') :
    F.shiftIso mn a a'' (by rw [← hnm, ← ha'', ← ha', add_assoc]) =
      isoWhiskerLeft _ (shiftFunctorAdd' D m n mn hnm) ≪≫ (Functor.associator _ _ _).symm ≪≫
        isoWhiskerRight (F.shiftIso m a' a'' ha'') _ ≪≫ F.shiftIso n a a' ha' 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (n m mn : A) (hnm : m + n = mn) (a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a'')
Goal: F.shiftIso mn a a'' ⋯ =
  CategoryTheory.isoWhiskerLeft (F.functor a'') (CategoryTheory.shiftFunctorAdd' D m n mn hnm) ≪≫
    ((F.functor a'').associator (CategoryTheory.shiftFunctor D m) (CategoryTheory.shiftFunctor D n)).symm ≪≫
      CategoryTheory.isoWhiskerRight (F.shiftIso m a' a'' ha'') (CategoryTheory.shiftFunctor D n) ≪≫
        F.shiftIso n a a' ha'
-- CategoryTheory.SingleFunctors.shiftIso_add'_hom_app
lemma shiftIso_add'_hom_app (n m mn : A) (hnm : m + n = mn) (a a' a'' : A)
    (ha' : n + a = a') (ha'' : m + a' = a'') (X : C) :
    (F.shiftIso mn a a'' (by rw [← hnm, ← ha'', ← ha', add_assoc])).hom.app X =
      (shiftFunctorAdd' D m n mn hnm).hom.app ((F.functor a'').obj X) ≫
        ((F.shiftIso m a' a'' ha'').hom.app X)⟦n⟧' ≫ (F.shiftIso n a a' ha').hom.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (n m mn : A) (hnm : m + n = mn) (a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a'') (X : C)
Goal: (F.shiftIso mn a a'' ⋯).hom.app X =
  (CategoryTheory.shiftFunctorAdd' D m n mn hnm).hom.app ((F.functor a'').obj X) ≫
    (CategoryTheory.shiftFunctor D n).map ((F.shiftIso m a' a'' ha'').hom.app X) ≫ (F.shiftIso n a a' ha').hom.app X
-- CategoryTheory.SingleFunctors.shiftIso_add'_inv_app
lemma shiftIso_add'_inv_app (n m mn : A) (hnm : m + n = mn) (a a' a'' : A)
    (ha' : n + a = a') (ha'' : m + a' = a'') (X : C) :
    (F.shiftIso mn a a'' (by rw [← hnm, ← ha'', ← ha', add_assoc])).inv.app X =
        (F.shiftIso n a a' ha').inv.app X ≫
        ((F.shiftIso m a' a'' ha'').inv.app X)⟦n⟧' ≫
      (shiftFunctorAdd' D m n mn hnm).inv.app ((F.functor a'').obj X) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (n m mn : A) (hnm : m + n = mn) (a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a'') (X : C)
Goal: (F.shiftIso mn a a'' ⋯).inv.app X =
  (F.shiftIso n a a' ha').inv.app X ≫
    (CategoryTheory.shiftFunctor D n).map ((F.shiftIso m a' a'' ha'').inv.app X) ≫
      (CategoryTheory.shiftFunctorAdd' D m n mn hnm).inv.app ((F.functor a'').obj X)
-- CategoryTheory.SingleFunctors.shiftIso_zero_hom_app
@[simp]
lemma shiftIso_zero_hom_app (a : A) (X : C) :
    (F.shiftIso 0 a a (zero_add a)).hom.app X = (shiftFunctorZero D A).hom.app _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (a : A) (X : C)
Goal: (F.shiftIso 0 a a ⋯).hom.app X = (CategoryTheory.shiftFunctorZero D A).hom.app ((F.functor a).obj X)
-- CategoryTheory.SingleFunctors.shiftIso_zero_inv_app
@[simp]
lemma shiftIso_zero_inv_app (a : A) (X : C) :
    (F.shiftIso 0 a a (zero_add a)).inv.app X = (shiftFunctorZero D A).inv.app _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (a : A) (X : C)
Goal: (F.shiftIso 0 a a ⋯).inv.app X = (CategoryTheory.shiftFunctorZero D A).inv.app ((F.functor a).toPrefunctor.1 X)
-- CategoryTheory.SingleFunctors.Hom.comm
@[ext]
structure Hom where
    hom (a : A) : F.functor a ⟶ G.functor a
  comm (n a a' : A) (ha' : n + a = a') : (F.shiftIso n a a' ha').hom ≫ hom a =
    whiskerRight (hom a') (shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom := by aesop_cat
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (self : F.Hom G) (n a a' : A) (ha' : n + a = a')
Goal: (F.shiftIso n a a' ha').hom ≫ self.hom a =
  CategoryTheory.whiskerRight (self.hom a') (CategoryTheory.shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom
-- CategoryTheory.SingleFunctors.Hom.id_hom
@[simps]
def id : Hom F F 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (a : A)
Goal: (CategoryTheory.SingleFunctors.Hom.id F).hom a = 𝟙 (F.functor a)
-- CategoryTheory.SingleFunctors.Hom.comp_hom
@[simps]
def comp (α : Hom F G) (β : Hom G H) : Hom F H 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G H : CategoryTheory.SingleFunctors C D A} (α : F.Hom G) (β : G.Hom H) (a : A)
Goal: (α.comp β).hom a = α.hom a ≫ β.hom a
-- CategoryTheory.SingleFunctors.id_hom
@[simp]
lemma id_hom (a : A) : Hom.hom (𝟙 F) a = 𝟙 _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (F : CategoryTheory.SingleFunctors C D A) (a : A)
Goal: (𝟙 F).hom a = 𝟙 (F.functor a)
-- CategoryTheory.SingleFunctors.comp_hom
@[simp, reassoc]
lemma comp_hom (f : F ⟶ G) (g : G ⟶ H) (a : A) : (f ≫ g).hom a = f.hom a ≫ g.hom a 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G H : CategoryTheory.SingleFunctors C D A} (f : F ⟶ G) (g : G ⟶ H) (a : A)
Goal: (f ≫ g).hom a = f.hom a ≫ g.hom a
-- CategoryTheory.SingleFunctors.hom_ext
@[ext]
lemma hom_ext (f g : F ⟶ G) (h : f.hom = g.hom) : f = g 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (f g : F ⟶ G) (h : f.hom = g.hom)
Goal: f = g
-- CategoryTheory.SingleFunctors.isoMk_inv_hom
@[simps]
def isoMk (iso : ∀ a, (F.functor a ≅ G.functor a))
    (comm : ∀ (n a a' : A) (ha' : n + a = a'), (F.shiftIso n a a' ha').hom ≫ (iso a).hom =
      whiskerRight (iso a').hom (shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom) :
    F ≅ G 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (iso : (a : A) → F.functor a ≅ G.functor a) (comm :
  ∀ (n a a' : A) (ha' : n + a = a'),
    (F.shiftIso n a a' ha').hom ≫ (iso a).hom =
      CategoryTheory.whiskerRight (iso a').hom (CategoryTheory.shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom) (a : A)
Goal: (CategoryTheory.SingleFunctors.isoMk iso comm).inv.hom a = (iso a).inv
-- CategoryTheory.SingleFunctors.isoMk_hom_hom
@[simps]
def isoMk (iso : ∀ a, (F.functor a ≅ G.functor a))
    (comm : ∀ (n a a' : A) (ha' : n + a = a'), (F.shiftIso n a a' ha').hom ≫ (iso a).hom =
      whiskerRight (iso a').hom (shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom) :
    F ≅ G 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (iso : (a : A) → F.functor a ≅ G.functor a) (comm :
  ∀ (n a a' : A) (ha' : n + a = a'),
    (F.shiftIso n a a' ha').hom ≫ (iso a).hom =
      CategoryTheory.whiskerRight (iso a').hom (CategoryTheory.shiftFunctor D n) ≫ (G.shiftIso n a a' ha').hom) (a : A)
Goal: (CategoryTheory.SingleFunctors.isoMk iso comm).hom.hom a = (iso a).hom
-- CategoryTheory.SingleFunctors.evaluation_obj
@[simps]
def evaluation (a : A) : SingleFunctors C D A ⥤ C ⥤ D 
Arguments: (C : Type u_1) (D : Type u_2) [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (a : A) (F : CategoryTheory.SingleFunctors C D A)
Goal: (CategoryTheory.SingleFunctors.evaluation C D a).obj F = F.functor a
-- CategoryTheory.SingleFunctors.evaluation_map
@[simps]
def evaluation (a : A) : SingleFunctors C D A ⥤ C ⥤ D 
Arguments: (C : Type u_1) (D : Type u_2) [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] (a : A) {F G : CategoryTheory.SingleFunctors C D A} (φ : F ⟶ G)
Goal: (CategoryTheory.SingleFunctors.evaluation C D a).map φ = φ.hom a
-- CategoryTheory.SingleFunctors.hom_inv_id_hom
@[reassoc (attr := simp)]
lemma hom_inv_id_hom (e : F ≅ G) (n : A) : e.hom.hom n ≫ e.inv.hom n = 𝟙 _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (e : F ≅ G) (n : A)
Goal: e.hom.hom n ≫ e.inv.hom n = 𝟙 (F.functor n)
-- CategoryTheory.SingleFunctors.inv_hom_id_hom
@[reassoc (attr := simp)]
lemma inv_hom_id_hom (e : F ≅ G) (n : A) : e.inv.hom n ≫ e.hom.hom n = 𝟙 _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (e : F ≅ G) (n : A)
Goal: e.inv.hom n ≫ e.hom.hom n = 𝟙 (G.functor n)
-- CategoryTheory.SingleFunctors.hom_inv_id_hom_app
@[reassoc (attr := simp)]
lemma hom_inv_id_hom_app (e : F ≅ G) (n : A) (X : C) :
    (e.hom.hom n).app X ≫ (e.inv.hom n).app X = 𝟙 _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (e : F ≅ G) (n : A) (X : C)
Goal: (e.hom.hom n).app X ≫ (e.inv.hom n).app X = 𝟙 ((F.functor n).obj X)
-- CategoryTheory.SingleFunctors.inv_hom_id_hom_app
@[reassoc (attr := simp)]
lemma inv_hom_id_hom_app (e : F ≅ G) (n : A) (X : C) :
    (e.inv.hom n).app X ≫ (e.hom.hom n).app X = 𝟙 _ 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (e : F ≅ G) (n : A) (X : C)
Goal: (e.inv.hom n).app X ≫ (e.hom.hom n).app X = 𝟙 ((G.functor n).obj X)
-- CategoryTheory.SingleFunctors.postcomp_shiftIso_inv_app
@[simps! functor shiftIso_hom_app shiftIso_inv_app]
def postcomp (G : D ⥤ E) [G.CommShift A] :
    SingleFunctors C E A 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (F : CategoryTheory.SingleFunctors C D A) (G : D ⥤ E) [G.CommShift A] (n a a' : A) (ha' : n + a = a') (X : C)
Goal: ((F.postcomp G).shiftIso n a a' ha').inv.app X =
  G.map ((F.shiftIso n a a' ha').inv.app X) ≫ (G.commShiftIso n).hom.app ((F.functor a').obj X)
-- CategoryTheory.SingleFunctors.postcomp_shiftIso_hom_app
@[simps! functor shiftIso_hom_app shiftIso_inv_app]
def postcomp (G : D ⥤ E) [G.CommShift A] :
    SingleFunctors C E A 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (F : CategoryTheory.SingleFunctors C D A) (G : D ⥤ E) [G.CommShift A] (n a a' : A) (ha' : n + a = a') (X : C)
Goal: ((F.postcomp G).shiftIso n a a' ha').hom.app X =
  (G.commShiftIso n).inv.app ((F.functor a').obj X) ≫ G.map ((F.shiftIso n a a' ha').hom.app X)
-- CategoryTheory.SingleFunctors.postcomp_functor
@[simps! functor shiftIso_hom_app shiftIso_inv_app]
def postcomp (G : D ⥤ E) [G.CommShift A] :
    SingleFunctors C E A 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (F : CategoryTheory.SingleFunctors C D A) (G : D ⥤ E) [G.CommShift A] (a : A)
Goal: (F.postcomp G).functor a = F.functor a ⋙ G
-- CategoryTheory.SingleFunctors.postcompPostcompIso_inv_hom_app
@[simps!]
def postcompPostcompIso (G : D ⥤ E) (G' : E ⥤ E') [G.CommShift A] [G'.CommShift A] :
    (F.postcomp G).postcomp G' ≅ F.postcomp (G ⋙ G') 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} {E' : Type u_4} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] [CategoryTheory.Category.{u_9, u_4} E'] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] [CategoryTheory.HasShift E' A] (F : CategoryTheory.SingleFunctors C D A) (G : D ⥤ E) (G' : E ⥤ E') [G.CommShift A] [G'.CommShift A] (a : A)
Goal: ∀ (x : C), ((F.postcompPostcompIso G G').inv.hom a).app x = 𝟙 (G'.obj (G.obj ((F.functor a).obj x)))
-- CategoryTheory.SingleFunctors.postcompPostcompIso_hom_hom_app
@[simps!]
def postcompPostcompIso (G : D ⥤ E) (G' : E ⥤ E') [G.CommShift A] [G'.CommShift A] :
    (F.postcomp G).postcomp G' ≅ F.postcomp (G ⋙ G') 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} {E' : Type u_4} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] [CategoryTheory.Category.{u_9, u_4} E'] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] [CategoryTheory.HasShift E' A] (F : CategoryTheory.SingleFunctors C D A) (G : D ⥤ E) (G' : E ⥤ E') [G.CommShift A] [G'.CommShift A] (a : A)
Goal: ∀ (x : C), ((F.postcompPostcompIso G G').hom.hom a).app x = 𝟙 (G'.obj (G.obj ((F.functor a).obj x)))
-- CategoryTheory.SingleFunctors.postcompIsoOfIso_hom_hom_app
@[simps!]
def postcompIsoOfIso {G G' : D ⥤ E} (e : G ≅ G') [G.CommShift A] [G'.CommShift A]
    [NatTrans.CommShift e.hom A] :
    F.postcomp G ≅ F.postcomp G' 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (F : CategoryTheory.SingleFunctors C D A) {G G' : D ⥤ E} (e : G ≅ G') [G.CommShift A] [G'.CommShift A] [CategoryTheory.NatTrans.CommShift e.hom A] (a : A) (X : C)
Goal: ((F.postcompIsoOfIso e).hom.hom a).app X = e.hom.app ((F.functor a).obj X)
-- CategoryTheory.SingleFunctors.postcompIsoOfIso_inv_hom_app
@[simps!]
def postcompIsoOfIso {G G' : D ⥤ E} (e : G ≅ G') [G.CommShift A] [G'.CommShift A]
    [NatTrans.CommShift e.hom A] :
    F.postcomp G ≅ F.postcomp G' 
Arguments: {C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{u_6, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_8, u_3} E] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (F : CategoryTheory.SingleFunctors C D A) {G G' : D ⥤ E} (e : G ≅ G') [G.CommShift A] [G'.CommShift A] [CategoryTheory.NatTrans.CommShift e.hom A] (a : A) (X : C)
Goal: ((F.postcompIsoOfIso e).inv.hom a).app X = e.inv.app ((F.functor a).obj X)
-- CategoryTheory.has_weakly_initial_of_weakly_initial_set_and_hasProducts
theorem has_weakly_initial_of_weakly_initial_set_and_hasProducts [HasProducts.{v} C] {ι : Type v}
    {B : ι → C} (hB : ∀ A : C, ∃ i, Nonempty (B i ⟶ A)) : ∃ T : C, ∀ X, Nonempty (T ⟶ X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasProducts C] {ι : Type v} {B : ι → C} (hB : ∀ (A : C), ∃ i, Nonempty (B i ⟶ A))
Goal: ∃ T, ∀ (X : C), Nonempty (T ⟶ X)
-- CategoryTheory.hasInitial_of_weakly_initial_and_hasWideEqualizers
theorem hasInitial_of_weakly_initial_and_hasWideEqualizers [HasWideEqualizers.{v} C] {T : C}
    (hT : ∀ X, Nonempty (T ⟶ X)) : HasInitial C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasWideEqualizers C] {T : C} (hT : ∀ (X : C), Nonempty (T ⟶ X))
Goal: CategoryTheory.Limits.HasInitial C
-- CategoryTheory.Monad.algebraPreadditive_homGroup_add_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra) (α β : F ⟶ G)
Goal: (α + β).f = α.f + β.f
-- CategoryTheory.Monad.algebraPreadditive_homGroup_zsmul_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra) (r : ℤ) (α : F ⟶ G)
Goal: (r • α).f = r • α.f
-- CategoryTheory.Monad.algebraPreadditive_homGroup_zero_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra)
Goal: CategoryTheory.Monad.Algebra.Hom.f 0 = 0
-- CategoryTheory.Monad.algebraPreadditive_homGroup_nsmul_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra) (n : ℕ) (α : F ⟶ G)
Goal: (n • α).f = n • α.f
-- CategoryTheory.Monad.algebraPreadditive_homGroup_neg_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra) (α : F ⟶ G)
Goal: (-α).f = -α.f
-- CategoryTheory.Monad.algebraPreadditive_homGroup_sub_f
@[simps]
instance Monad.algebraPreadditive : Preadditive (Monad.Algebra T) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (T : CategoryTheory.Monad C) [T.Additive] (F G : T.Algebra) (α β : F ⟶ G)
Goal: (α - β).f = α.f - β.f
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_nsmul_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra) (n : ℕ) (α : F ⟶ G)
Goal: (n • α).f = n • α.f
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_zero_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra)
Goal: CategoryTheory.Comonad.Coalgebra.Hom.f 0 = 0
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_neg_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra) (α : F ⟶ G)
Goal: (-α).f = -α.f
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_zsmul_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra) (r : ℤ) (α : F ⟶ G)
Goal: (r • α).f = r • α.f
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_add_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra) (α β : F ⟶ G)
Goal: (α + β).f = α.f + β.f
-- CategoryTheory.Comonad.coalgebraPreadditive_homGroup_sub_f
@[simps]
instance Comonad.coalgebraPreadditive : Preadditive (Comonad.Coalgebra U) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (U : CategoryTheory.Comonad C) [U.Additive] (F G : U.Coalgebra) (α β : F ⟶ G)
Goal: (α - β).f = α.f - β.f
-- CategoryTheory.BasedFunctor.w
structure BasedFunctor (𝒳 : BasedCategory.{v₂, u₂} 𝒮) (𝒴 : BasedCategory.{v₃, u₃} 𝒮) extends
    𝒳.obj ⥤ 𝒴.obj where
  w : toFunctor ⋙ 𝒴.p = 𝒳.p := by aesop_cat
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} (self : CategoryTheory.BasedFunctor 𝒳 𝒴)
Goal: self.comp 𝒴.p = 𝒳.p
-- CategoryTheory.BasedFunctor.id_toFunctor
@[simps]
def id (𝒳 : BasedCategory.{v₂, u₂} 𝒮) : 𝒳 ⥤ᵇ 𝒳 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] (𝒳 : CategoryTheory.BasedCategory 𝒮)
Goal: (CategoryTheory.BasedFunctor.id 𝒳).toFunctor = CategoryTheory.Functor.id 𝒳.obj
-- CategoryTheory.BasedFunctor.comp_toFunctor
@[simps]
def comp {𝒵 : BasedCategory.{v₄, u₄} 𝒮} (F : 𝒳 ⥤ᵇ 𝒴) (G : 𝒴 ⥤ᵇ 𝒵) : 𝒳 ⥤ᵇ 𝒵 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} {𝒵 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴) (G : CategoryTheory.BasedFunctor 𝒴 𝒵)
Goal: (F.comp G).toFunctor = F.comp G.toFunctor
-- CategoryTheory.BasedFunctor.comp_id
@[simp]
lemma comp_id (F : 𝒳 ⥤ᵇ 𝒴) :  F ⋙ 𝟭 𝒴 = F 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴)
Goal: F.comp (CategoryTheory.BasedFunctor.id 𝒴) = F
-- CategoryTheory.BasedFunctor.id_comp
@[simp]
lemma id_comp (F : 𝒳 ⥤ᵇ 𝒴) : 𝟭 𝒳 ⋙ F = F 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴)
Goal: (CategoryTheory.BasedFunctor.id 𝒳).comp F = F
-- CategoryTheory.BasedFunctor.comp_assoc
@[simp]
lemma comp_assoc {𝒵 : BasedCategory.{v₄, u₄} 𝒮} {𝒜 : BasedCategory.{v₅, u₅} 𝒮} (F : 𝒳 ⥤ᵇ 𝒴)
    (G : 𝒴 ⥤ᵇ 𝒵) (H : 𝒵 ⥤ᵇ 𝒜) : (F ⋙ G) ⋙ H = F ⋙ (G ⋙ H) 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} {𝒵 : CategoryTheory.BasedCategory 𝒮} {𝒜 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴) (G : CategoryTheory.BasedFunctor 𝒴 𝒵) (H : CategoryTheory.BasedFunctor 𝒵 𝒜)
Goal: (F.comp G).comp H = F.comp (G.comp H)
-- CategoryTheory.BasedFunctor.w_obj
@[simp]
lemma w_obj (F : 𝒳 ⥤ᵇ 𝒴) (a : 𝒳.obj) : 𝒴.p.obj (F.obj a) = 𝒳.p.obj a 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴) (a : 𝒳.obj)
Goal: 𝒴.p.obj (F.obj a) = 𝒳.p.obj a
-- CategoryTheory.BasedFunctor.isHomLift_map
lemma isHomLift_map [IsHomLift 𝒴.p f (F.map φ)] : IsHomLift 𝒳.p f φ 
Arguments: {𝒮 : Type u₁} [CategoryTheory.Category.{v₁, u₁} 𝒮] {𝒳 : CategoryTheory.BasedCategory 𝒮} {𝒴 : CategoryTheory.BasedCategory 𝒮} (F : CategoryTheory.BasedFunctor 𝒳 𝒴) {R S : 𝒮} {a b : 𝒳.obj} (f : R ⟶ S) (φ : a ⟶ b) [𝒴.p.IsHomLift f (F.map φ)]
Goal: 𝒳.p.IsHomLift f φ