ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.MorphismProperty.RightFraction₂.exists_leftFraction₂
lemma exists_leftFraction₂ [W.HasLeftCalculusOfFractions] :
    ∃ (ψ : W.LeftFraction₂ X Y), φ.f ≫ ψ.s = φ.s ≫ ψ.f ∧
      φ.f' ≫ ψ.s = φ.s ≫ ψ.f' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {W : CategoryTheory.MorphismProperty C} {X Y : C} (φ : W.RightFraction₂ X Y) [W.HasLeftCalculusOfFractions]
Goal: ∃ ψ,
  CategoryTheory.CategoryStruct.comp φ.f ψ.s = CategoryTheory.CategoryStruct.comp φ.s ψ.f ∧
    CategoryTheory.CategoryStruct.comp φ.f' ψ.s = CategoryTheory.CategoryStruct.comp φ.s ψ.f'
-- CategoryTheory.Localization.exists_leftFraction₂
lemma exists_leftFraction₂ {X Y : C} (f f' : L.obj X ⟶ L.obj Y) :
    ∃ (φ : W.LeftFraction₂ X Y), f = φ.fst.map L (inverts L W) ∧
      f' = φ.snd.map L (inverts L W) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (L : CategoryTheory.Functor C D) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] [W.HasLeftCalculusOfFractions] {X Y : C} (f f' : L.obj X ⟶ L.obj Y)
Goal: ∃ φ, f = φ.fst.map L ⋯ ∧ f' = φ.snd.map L ⋯
-- CategoryTheory.Localization.exists_leftFraction₃
lemma exists_leftFraction₃ {X Y : C} (f f' f'' : L.obj X ⟶ L.obj Y) :
    ∃ (φ : W.LeftFraction₃ X Y), f = φ.fst.map L (inverts L W) ∧
      f' = φ.snd.map L (inverts L W) ∧
      f'' = φ.thd.map L (inverts L W) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (L : CategoryTheory.Functor C D) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] [W.HasLeftCalculusOfFractions] {X Y : C} (f f' f'' : L.obj X ⟶ L.obj Y)
Goal: ∃ φ, f = φ.fst.map L ⋯ ∧ f' = φ.snd.map L ⋯ ∧ f'' = φ.thd.map L ⋯
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_sub_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (α β : A₁ ⟶ A₂)
Goal: (α - β).f = α.f - β.f
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_add_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (α β : A₁ ⟶ A₂)
Goal: (α + β).f = α.f + β.f
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_zsmul_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (r : ℤ) (α : A₁ ⟶ A₂)
Goal: (r • α).f = r • α.f
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_neg_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (α : A₁ ⟶ A₂)
Goal: (-α).f = -α.f
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_nsmul_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (n : ℕ) (α : A₁ ⟶ A₂)
Goal: (n • α).f = n • α.f
-- CategoryTheory.Endofunctor.algebraPreadditive_homGroup_zero_f
@[simps]
instance Endofunctor.algebraPreadditive : Preadditive (Endofunctor.Algebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F)
Goal: CategoryTheory.Endofunctor.Algebra.Hom.f 0 = 0
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_add_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F) (α β : A₁ ⟶ A₂)
Goal: (α + β).f = α.f + β.f
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_sub_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F) (α β : A₁ ⟶ A₂)
Goal: (α - β).f = α.f - β.f
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_zero_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F)
Goal: CategoryTheory.Endofunctor.Coalgebra.Hom.f 0 = 0
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_nsmul_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F) (n : ℕ) (α : A₁ ⟶ A₂)
Goal: (n • α).f = n • α.f
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_neg_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F) (α : A₁ ⟶ A₂)
Goal: (-α).f = -α.f
-- CategoryTheory.Endofunctor.coalgebraPreadditive_homGroup_zsmul_f
@[simps]
instance Endofunctor.coalgebraPreadditive : Preadditive (Endofunctor.Coalgebra F) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Preadditive C] (F : CategoryTheory.Functor C C) [F.Additive] (A₁ A₂ : CategoryTheory.Endofunctor.Coalgebra F) (r : ℤ) (α : A₁ ⟶ A₂)
Goal: (r • α).f = r • α.f
-- CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution_map
@[simps]
noncomputable def fromRightResolution :
    Φ.RightResolution X₂ ⥤ (TwoSquare.mk Φ.functor (Φ.functor ⋙ L) L (𝟭 _)
      (Functor.rightUnitor _).inv).CostructuredArrowDownwards y 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{u_4, u_1} C₁] [CategoryTheory.Category.{u_5, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [W₁.IsMultiplicative] {D : Type u_3} [CategoryTheory.Category.{u_6, u_3} D] (L : CategoryTheory.Functor C₂ D) [L.IsLocalization W₂] {X₂ : C₂} {X₃ : D} (y : L.obj X₂ ⟶ X₃) {R R' : Φ.RightResolution X₂} (φ : R ⟶ R')
Goal: (CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution Φ L y).map φ =
  CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.homMk φ.f ⋯) ⋯
-- CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution_obj
@[simps]
noncomputable def fromRightResolution :
    Φ.RightResolution X₂ ⥤ (TwoSquare.mk Φ.functor (Φ.functor ⋙ L) L (𝟭 _)
      (Functor.rightUnitor _).inv).CostructuredArrowDownwards y 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{u_4, u_1} C₁] [CategoryTheory.Category.{u_5, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [W₁.IsMultiplicative] {D : Type u_3} [CategoryTheory.Category.{u_6, u_3} D] (L : CategoryTheory.Functor C₂ D) [L.IsLocalization W₂] {X₂ : C₂} {X₃ : D} (y : L.obj X₂ ⟶ X₃) (R : Φ.RightResolution X₂)
Goal: (CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution Φ L y).obj R =
  CategoryTheory.CostructuredArrow.mk
    (CategoryTheory.StructuredArrow.homMk
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.Localization.isoOfHom L W₂ R.w ⋯).inv y) ⋯)
-- CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.isConnected
lemma isConnected :
    IsConnected ((TwoSquare.mk Φ.functor (Φ.functor ⋙ L) L (𝟭 _)
      (Functor.rightUnitor _).inv).CostructuredArrowDownwards y) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{u_4, u_1} C₁] [CategoryTheory.Category.{u_5, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [W₁.IsMultiplicative] [∀ (X₂ : C₂), CategoryTheory.IsConnected (Φ.RightResolution X₂)] [Φ.arrow.HasRightResolutions] [W₂.ContainsIdentities] {D : Type u_3} [CategoryTheory.Category.{u_6, u_3} D] (L : CategoryTheory.Functor C₂ D) [L.IsLocalization W₂] {X₂ : C₂} {X₃ : D} (y : L.obj X₂ ⟶ X₃)
Goal: CategoryTheory.IsConnected
  ((CategoryTheory.TwoSquare.mk Φ.functor (Φ.functor.comp L) L (CategoryTheory.Functor.id D)
        (Φ.functor.comp L).rightUnitor.inv).CostructuredArrowDownwards
    y)
-- CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.mk'
lemma mk' : Φ.IsRightDerivabilityStructure 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{u_3, u_1} C₁] [CategoryTheory.Category.{u_4, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [Φ.IsLocalizedEquivalence] [W₁.IsMultiplicative] [∀ (X₂ : C₂), CategoryTheory.IsConnected (Φ.RightResolution X₂)] [Φ.arrow.HasRightResolutions] [W₂.ContainsIdentities]
Goal: Φ.IsRightDerivabilityStructure
-- CategoryTheory.Limits.ClosedUnderLimitsOfShape.limit
theorem ClosedUnderLimitsOfShape.limit (h : ClosedUnderLimitsOfShape J P) {F : J ⥤ C} [HasLimit F] :
    (∀ j, P (F.obj j)) → P (limit F) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderLimitsOfShape J P) {F : J ⥤ C} [CategoryTheory.Limits.HasLimit F]
Goal: (∀ (j : J), P (F.obj j)) → P (CategoryTheory.Limits.limit F)
-- CategoryTheory.Limits.ClosedUnderColimitsOfShape.colimit
theorem ClosedUnderColimitsOfShape.colimit (h : ClosedUnderColimitsOfShape J P) {F : J ⥤ C}
    [HasColimit F] : (∀ j, P (F.obj j)) → P (colimit F) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderColimitsOfShape J P) {F : J ⥤ C} [CategoryTheory.Limits.HasColimit F]
Goal: (∀ (j : J), P (F.obj j)) → P (CategoryTheory.Limits.colimit F)
-- CategoryTheory.Limits.hasLimit_of_closedUnderLimits
theorem hasLimit_of_closedUnderLimits (h : ClosedUnderLimitsOfShape J P)
    (F : J ⥤ FullSubcategory P) [HasLimit (F ⋙ fullSubcategoryInclusion P)] : HasLimit F 
Arguments: {J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderLimitsOfShape J P) (F : J ⥤ CategoryTheory.FullSubcategory P) [CategoryTheory.Limits.HasLimit (F ⋙ CategoryTheory.fullSubcategoryInclusion P)]
Goal: CategoryTheory.Limits.HasLimit F
-- CategoryTheory.Limits.hasLimitsOfShape_of_closedUnderLimits
theorem hasLimitsOfShape_of_closedUnderLimits (h : ClosedUnderLimitsOfShape J P)
    [HasLimitsOfShape J C] : HasLimitsOfShape J (FullSubcategory P) 
Arguments: {J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderLimitsOfShape J P) [CategoryTheory.Limits.HasLimitsOfShape J C]
Goal: CategoryTheory.Limits.HasLimitsOfShape J (CategoryTheory.FullSubcategory P)
-- CategoryTheory.Limits.hasColimit_of_closedUnderColimits
theorem hasColimit_of_closedUnderColimits (h : ClosedUnderColimitsOfShape J P)
    (F : J ⥤ FullSubcategory P) [HasColimit (F ⋙ fullSubcategoryInclusion P)] : HasColimit F 
Arguments: {J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderColimitsOfShape J P) (F : J ⥤ CategoryTheory.FullSubcategory P) [CategoryTheory.Limits.HasColimit (F ⋙ CategoryTheory.fullSubcategoryInclusion P)]
Goal: CategoryTheory.Limits.HasColimit F
-- CategoryTheory.Limits.hasColimitsOfShape_of_closedUnderColimits
theorem hasColimitsOfShape_of_closedUnderColimits (h : ClosedUnderColimitsOfShape J P)
    [HasColimitsOfShape J C] : HasColimitsOfShape J (FullSubcategory P) 
Arguments: {J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {P : C → Prop} (h : CategoryTheory.Limits.ClosedUnderColimitsOfShape J P) [CategoryTheory.Limits.HasColimitsOfShape J C]
Goal: CategoryTheory.Limits.HasColimitsOfShape J (CategoryTheory.FullSubcategory P)
-- CategoryTheory.Functor.ShiftSequence.induced.isoZero_hom_app_obj
lemma isoZero_hom_app_obj (X : C) :
    (isoZero e M F' e').hom.app (L.obj X) =
      (e' 0).hom.app X ≫ (isoShiftZero G M).hom.app X ≫ e.inv.app X 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] [CategoryTheory.Category.{u_5, u_3} A] {L : C ⥤ D} {F : D ⥤ A} {G : C ⥤ A} (e : L ⋙ F ≅ G) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [G.ShiftSequence M] (F' : M → D ⥤ A) (e' : (m : M) → L ⋙ F' m ≅ G.shift m) [((CategoryTheory.whiskeringLeft C D A).obj L).Full] [((CategoryTheory.whiskeringLeft C D A).obj L).Faithful] (X : C)
Goal: (CategoryTheory.Functor.ShiftSequence.induced.isoZero e M F' e').hom.app (L.obj X) =
  (e' 0).hom.app X ≫ (G.isoShiftZero M).hom.app X ≫ e.inv.app X
-- CategoryTheory.Functor.ShiftSequence.induced.shiftIso_hom_app_obj
lemma shiftIso_hom_app_obj (n a a' : M) (ha' : n + a = a') (X : C) :
    (shiftIso L G M F' e' n a a' ha').hom.app (L.obj X) =
      (F' a).map ((L.commShiftIso n).inv.app X) ≫
        (e' a).hom.app (X⟦n⟧) ≫ (G.shiftIso n a a' ha').hom.app X ≫ (e' a').inv.app X 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] [CategoryTheory.Category.{u_5, u_3} A] (L : C ⥤ D) (G : C ⥤ A) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [L.CommShift M] [G.ShiftSequence M] (F' : M → D ⥤ A) (e' : (m : M) → L ⋙ F' m ≅ G.shift m) [((CategoryTheory.whiskeringLeft C D A).obj L).Full] [((CategoryTheory.whiskeringLeft C D A).obj L).Faithful] (n a a' : M) (ha' : n + a = a') (X : C)
Goal: (CategoryTheory.Functor.ShiftSequence.induced.shiftIso L G M F' e' n a a' ha').hom.app (L.obj X) =
  (F' a).map ((L.commShiftIso n).inv.app X) ≫
    (e' a).hom.app ((CategoryTheory.shiftFunctor C n).obj X) ≫ (G.shiftIso n a a' ha').hom.app X ≫ (e' a').inv.app X
-- CategoryTheory.Functor.ShiftSequence.induced_isoShiftZero_hom_app_obj
@[simp, reassoc]
lemma induced_isoShiftZero_hom_app_obj (X : C) :
    letI := (induced e M F' e')
    (F.isoShiftZero M).hom.app (L.obj X) =
      (e' 0).hom.app X ≫ (isoShiftZero G M).hom.app X ≫ e.inv.app X 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] [CategoryTheory.Category.{u_5, u_3} A] {L : C ⥤ D} {F : D ⥤ A} {G : C ⥤ A} (e : L ⋙ F ≅ G) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [L.CommShift M] [G.ShiftSequence M] (F' : M → D ⥤ A) (e' : (m : M) → L ⋙ F' m ≅ G.shift m) [((CategoryTheory.whiskeringLeft C D A).obj L).Full] [((CategoryTheory.whiskeringLeft C D A).obj L).Faithful] (X : C)
Goal: (F.isoShiftZero M).hom.app (L.obj X) = (e' 0).hom.app X ≫ (G.isoShiftZero M).hom.app X ≫ e.inv.app X
-- CategoryTheory.Functor.ShiftSequence.induced_shiftIso_hom_app_obj
@[simp, reassoc]
lemma induced_shiftIso_hom_app_obj (n a a' : M) (ha' : n + a = a') (X : C) :
    letI := (induced e M F' e')
    (F.shiftIso n a a' ha').hom.app (L.obj X) =
      (F.shift a).map ((L.commShiftIso n).inv.app X) ≫ (e' a).hom.app (X⟦n⟧) ≫
        (G.shiftIso n a a' ha').hom.app X ≫ (e' a').inv.app X 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] [CategoryTheory.Category.{u_5, u_3} A] {L : C ⥤ D} {F : D ⥤ A} {G : C ⥤ A} (e : L ⋙ F ≅ G) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [L.CommShift M] [G.ShiftSequence M] (F' : M → D ⥤ A) (e' : (m : M) → L ⋙ F' m ≅ G.shift m) [((CategoryTheory.whiskeringLeft C D A).obj L).Full] [((CategoryTheory.whiskeringLeft C D A).obj L).Faithful] (n a a' : M) (ha' : n + a = a') (X : C)
Goal: (F.shiftIso n a a' ha').hom.app (L.obj X) =
  (F.shift a).map ((L.commShiftIso n).inv.app X) ≫
    (e' a).hom.app ((CategoryTheory.shiftFunctor C n).obj X) ≫ (G.shiftIso n a a' ha').hom.app X ≫ (e' a').inv.app X
-- CategoryTheory.Functor.ShiftSequence.induced_shiftMap
@[reassoc]
lemma induced_shiftMap {n : M} {X Y : C} (f : X ⟶ Y⟦n⟧) (a a' : M) (h : n + a = a') :
    letI := induced e M F' e'
    F.shiftMap (L.map f ≫ (L.commShiftIso n).hom.app _) a a' h =
      (e' a).hom.app X ≫ G.shiftMap f a a' h ≫ (e' a').inv.app Y 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_5, u_1} C] [CategoryTheory.Category.{u_7, u_2} D] [CategoryTheory.Category.{u_6, u_3} A] {L : C ⥤ D} {F : D ⥤ A} {G : C ⥤ A} (e : L ⋙ F ≅ G) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [L.CommShift M] [G.ShiftSequence M] (F' : M → D ⥤ A) (e' : (m : M) → L ⋙ F' m ≅ G.shift m) [((CategoryTheory.whiskeringLeft C D A).obj L).Full] [((CategoryTheory.whiskeringLeft C D A).obj L).Faithful] {n : M} {X Y : C} (f : X ⟶ (CategoryTheory.shiftFunctor C n).obj Y) (a a' : M) (h : n + a = a')
Goal: F.shiftMap (L.map f ≫ (L.commShiftIso n).hom.app Y) a a' h = (e' a).hom.app X ≫ G.shiftMap f a a' h ≫ (e' a').inv.app Y
-- CategoryTheory.ShiftedHom.comp_assoc
lemma comp_assoc {a₁ a₂ a₃ a₁₂ a₂₃ a : M}
    (α : ShiftedHom X Y a₁) (β : ShiftedHom Y Z a₂) (γ : ShiftedHom Z T a₃)
    (h₁₂ : a₂ + a₁ = a₁₂) (h₂₃ : a₃ + a₂ = a₂₃) (h : a₃ + a₂ + a₁ = a) :
    (α.comp β h₁₂).comp γ (show a₃ + a₁₂ = a by rw [← h₁₂, ← add_assoc, h]) =
      α.comp (β.comp γ h₂₃) (by rw [← h₂₃, h]) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z T : C} {a₁ a₂ a₃ a₁₂ a₂₃ a : M} (α : CategoryTheory.ShiftedHom X Y a₁) (β : CategoryTheory.ShiftedHom Y Z a₂) (γ : CategoryTheory.ShiftedHom Z T a₃) (h₁₂ : a₂ + a₁ = a₁₂) (h₂₃ : a₃ + a₂ = a₂₃) (h : a₃ + a₂ + a₁ = a)
Goal: (α.comp β h₁₂).comp γ ⋯ = α.comp (β.comp γ h₂₃) ⋯
-- CategoryTheory.ShiftedHom.homEquiv_apply
@[simps apply]
noncomputable def homEquiv (m₀ : M) (hm₀ : m₀ = 0) : (X ⟶ Y) ≃ ShiftedHom X Y m₀ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y : C} (m₀ : M) (hm₀ : m₀ = 0) (f : X ⟶ Y)
Goal: (CategoryTheory.ShiftedHom.homEquiv m₀ hm₀) f = CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ f
-- CategoryTheory.ShiftedHom.mk₀_comp
lemma mk₀_comp (m₀ : M) (hm₀ : m₀ = 0) (f : X ⟶ Y) {a : M} (g : ShiftedHom Y Z a) :
    (mk₀ m₀ hm₀ f).comp g (by rw [hm₀, add_zero]) = f ≫ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z : C} (m₀ : M) (hm₀ : m₀ = 0) (f : X ⟶ Y) {a : M} (g : CategoryTheory.ShiftedHom Y Z a)
Goal: (CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ f).comp g ⋯ = CategoryTheory.CategoryStruct.comp f g
-- CategoryTheory.ShiftedHom.mk₀_id_comp
@[simp]
lemma mk₀_id_comp (m₀ : M) (hm₀ : m₀ = 0) {a : M} (f : ShiftedHom X Y a) :
    (mk₀ m₀ hm₀ (𝟙 X)).comp f (by rw [hm₀, add_zero]) = f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y : C} (m₀ : M) (hm₀ : m₀ = 0) {a : M} (f : CategoryTheory.ShiftedHom X Y a)
Goal: (CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ (CategoryTheory.CategoryStruct.id X)).comp f ⋯ = f
-- CategoryTheory.ShiftedHom.comp_mk₀
lemma comp_mk₀ {a : M} (f : ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0) (g : Y ⟶ Z) :
    f.comp (mk₀ m₀ hm₀ g) (by rw [hm₀, zero_add]) = f ≫ g⟦a⟧' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0) (g : Y ⟶ Z)
Goal: f.comp (CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ g) ⋯ =
  CategoryTheory.CategoryStruct.comp f ((CategoryTheory.shiftFunctor C a).map g)
-- CategoryTheory.ShiftedHom.comp_mk₀_id
@[simp]
lemma comp_mk₀_id {a : M} (f : ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0) :
    f.comp (mk₀ m₀ hm₀ (𝟙 Y)) (by rw [hm₀, zero_add]) = f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0)
Goal: f.comp (CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ (CategoryTheory.CategoryStruct.id Y)) ⋯ = f
-- CategoryTheory.ShiftedHom.mk₀_comp_mk₀
@[simp 1100]
lemma mk₀_comp_mk₀ (f : X ⟶ Y) (g : Y ⟶ Z) {a b c : M} (h : b + a = c)
    (ha : a = 0) (hb : b = 0) :
    (mk₀ a ha f).comp (mk₀ b hb g) h = mk₀ c (by rw [← h, ha, hb, add_zero]) (f ≫ g) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) {a b c : M} (h : b + a = c) (ha : a = 0) (hb : b = 0)
Goal: (CategoryTheory.ShiftedHom.mk₀ a ha f).comp (CategoryTheory.ShiftedHom.mk₀ b hb g) h =
  CategoryTheory.ShiftedHom.mk₀ c ⋯ (CategoryTheory.CategoryStruct.comp f g)
-- CategoryTheory.ShiftedHom.mk₀_comp_mk₀_assoc
@[simp]
lemma mk₀_comp_mk₀_assoc (f : X ⟶ Y) (g : Y ⟶ Z) {a : M}
    (ha : a = 0) {d : M} (h : ShiftedHom Z T d) :
    (mk₀ a ha f).comp ((mk₀ a ha g).comp h
        (show _ = d by rw [ha, add_zero])) (show _ = d by rw [ha, add_zero]) =
      (mk₀ a ha (f ≫ g)).comp h (by rw [ha, add_zero]) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z T : C} (f : X ⟶ Y) (g : Y ⟶ Z) {a : M} (ha : a = 0) {d : M} (h : CategoryTheory.ShiftedHom Z T d)
Goal: (CategoryTheory.ShiftedHom.mk₀ a ha f).comp ((CategoryTheory.ShiftedHom.mk₀ a ha g).comp h ⋯) ⋯ =
  (CategoryTheory.ShiftedHom.mk₀ a ha (CategoryTheory.CategoryStruct.comp f g)).comp h ⋯
-- CategoryTheory.ShiftedHom.mk₀_zero
@[simp]
lemma mk₀_zero (m₀ : M) (hm₀ : m₀ = 0) : mk₀ m₀ hm₀ (0 : X ⟶ Y) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] (X Y : C) [CategoryTheory.Preadditive C] (m₀ : M) (hm₀ : m₀ = 0)
Goal: CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ 0 = 0
-- CategoryTheory.ShiftedHom.comp_add
@[simp]
lemma comp_add [∀ (a : M), (shiftFunctor C a).Additive]
    {a b c : M} (α : ShiftedHom X Y a) (β₁ β₂ : ShiftedHom Y Z b) (h : b + a = c) :
    α.comp (β₁ + β₂) h = α.comp β₁ h + α.comp β₂ h 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z : C} [CategoryTheory.Preadditive C] [∀ (a : M), (CategoryTheory.shiftFunctor C a).Additive] {a b c : M} (α : CategoryTheory.ShiftedHom X Y a) (β₁ β₂ : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c)
Goal: α.comp (β₁ + β₂) h = α.comp β₁ h + α.comp β₂ h
-- CategoryTheory.ShiftedHom.add_comp
@[simp]
lemma add_comp
    {a b c : M} (α₁ α₂ : ShiftedHom X Y a) (β : ShiftedHom Y Z b) (h : b + a = c) :
    (α₁ + α₂).comp β h = α₁.comp β h + α₂.comp β h 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X Y Z : C} [CategoryTheory.Preadditive C] {a b c : M} (α₁ α₂ : CategoryTheory.ShiftedHom X Y a) (β : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c)
Goal: (α₁ + α₂).comp β h = α₁.comp β h + α₂.comp β h