ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Pretriangulated.binaryProductTriangle_mor₁
@[simps!]
def binaryProductTriangle (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryProduct X₁ X₂] :
    Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryProduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangle X₁ X₂).mor₁ = CategoryTheory.Limits.prod.lift (𝟙 X₁) 0
-- CategoryTheory.Pretriangulated.binaryProductTriangle_mor₃
@[simps!]
def binaryProductTriangle (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryProduct X₁ X₂] :
    Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryProduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangle X₁ X₂).mor₃ = 0
-- CategoryTheory.Pretriangulated.binaryProductTriangle_obj₁
@[simps!]
def binaryProductTriangle (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryProduct X₁ X₂] :
    Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryProduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangle X₁ X₂).obj₁ = X₁
-- CategoryTheory.Pretriangulated.binaryProductTriangle_mor₂
@[simps!]
def binaryProductTriangle (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryProduct X₁ X₂] :
    Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryProduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangle X₁ X₂).mor₂ = CategoryTheory.Limits.prod.snd
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_hom_hom₃
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).hom.hom₃ = 𝟙 X₂
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_inv_hom₁
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).inv.hom₁ = 𝟙 X₁
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_hom_hom₁
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).hom.hom₁ = 𝟙 X₁
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_hom_hom₂
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).hom.hom₂ =
  CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.snd
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_inv_hom₂
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).inv.hom₂ =
  CategoryTheory.Limits.prod.lift CategoryTheory.Limits.biprod.fst CategoryTheory.Limits.biprod.snd
-- CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle_inv_hom₃
@[simps!]
def binaryProductTriangleIsoBinaryBiproductTriangle
    (X₁ X₂ : C) [HasZeroMorphisms C] [HasBinaryBiproduct X₁ X₂] :
    binaryProductTriangle X₁ X₂ ≅ binaryBiproductTriangle X₁ X₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (X₁ X₂ : C) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproduct X₁ X₂]
Goal: (CategoryTheory.Pretriangulated.binaryProductTriangleIsoBinaryBiproductTriangle X₁ X₂).inv.hom₃ = 𝟙 X₂
-- CategoryTheory.Pretriangulated.productTriangle_mor₃
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).mor₃ =
  (CategoryTheory.Limits.Pi.map fun j => (T j).mor₃) ≫
    CategoryTheory.inv (CategoryTheory.Limits.piComparison (CategoryTheory.shiftFunctor C 1) fun j => (T j).obj₁)
-- CategoryTheory.Pretriangulated.productTriangle_mor₁
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).mor₁ = CategoryTheory.Limits.Pi.map fun j => (T j).mor₁
-- CategoryTheory.Pretriangulated.productTriangle_mor₂
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).mor₂ = CategoryTheory.Limits.Pi.map fun j => (T j).mor₂
-- CategoryTheory.Pretriangulated.productTriangle_obj₂
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).obj₂ = ∏ᶜ fun j => (T j).obj₂
-- CategoryTheory.Pretriangulated.productTriangle_obj₁
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).obj₁ = ∏ᶜ fun j => (T j).obj₁
-- CategoryTheory.Pretriangulated.productTriangle_obj₃
@[simps!]
def productTriangle : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁]
Goal: (CategoryTheory.Pretriangulated.productTriangle T).obj₃ = ∏ᶜ fun j => (T j).obj₃
-- CategoryTheory.Pretriangulated.productTriangle.π_hom₁
@[simps]
def productTriangle.π (j : J) :
    productTriangle T ⟶ T j 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] (j : J)
Goal: (CategoryTheory.Pretriangulated.productTriangle.π T j).hom₁ = CategoryTheory.Limits.Pi.π (fun j => (T j).obj₁) j
-- CategoryTheory.Pretriangulated.productTriangle.π_hom₂
@[simps]
def productTriangle.π (j : J) :
    productTriangle T ⟶ T j 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] (j : J)
Goal: (CategoryTheory.Pretriangulated.productTriangle.π T j).hom₂ = CategoryTheory.Limits.Pi.π (fun j => (T j).obj₂) j
-- CategoryTheory.Pretriangulated.productTriangle.π_hom₃
@[simps]
def productTriangle.π (j : J) :
    productTriangle T ⟶ T j 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] (j : J)
Goal: (CategoryTheory.Pretriangulated.productTriangle.π T j).hom₃ = CategoryTheory.Limits.Pi.π (fun j => (T j).obj₃) j
-- CategoryTheory.Pretriangulated.productTriangle.lift_hom₁
@[simps]
def productTriangle.lift {T' : Triangle C} (φ : ∀ j, T' ⟶ T j) :
    T' ⟶ productTriangle T 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : (j : J) → T' ⟶ T j)
Goal: (CategoryTheory.Pretriangulated.productTriangle.lift T φ).hom₁ = CategoryTheory.Limits.Pi.lift fun j => (φ j).hom₁
-- CategoryTheory.Pretriangulated.productTriangle.lift_hom₃
@[simps]
def productTriangle.lift {T' : Triangle C} (φ : ∀ j, T' ⟶ T j) :
    T' ⟶ productTriangle T 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : (j : J) → T' ⟶ T j)
Goal: (CategoryTheory.Pretriangulated.productTriangle.lift T φ).hom₃ = CategoryTheory.Limits.Pi.lift fun j => (φ j).hom₃
-- CategoryTheory.Pretriangulated.productTriangle.lift_hom₂
@[simps]
def productTriangle.lift {T' : Triangle C} (φ : ∀ j, T' ⟶ T j) :
    T' ⟶ productTriangle T 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : (j : J) → T' ⟶ T j)
Goal: (CategoryTheory.Pretriangulated.productTriangle.lift T φ).hom₂ = CategoryTheory.Limits.Pi.lift fun j => (φ j).hom₂
-- CategoryTheory.Pretriangulated.productTriangle.zero₃₁
lemma productTriangle.zero₃₁ [HasZeroMorphisms C]
    (h : ∀ j, (T j).mor₃ ≫ (T j).mor₁⟦(1 : ℤ)⟧' = 0) :
    (productTriangle T).mor₃ ≫ (productTriangle T).mor₁⟦1⟧' = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} (T : J → CategoryTheory.Pretriangulated.Triangle C) [CategoryTheory.Limits.HasProduct fun j => (T j).obj₁] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₂] [CategoryTheory.Limits.HasProduct fun j => (T j).obj₃] [CategoryTheory.Limits.HasProduct fun j => (CategoryTheory.shiftFunctor C 1).obj (T j).obj₁] [CategoryTheory.Limits.HasZeroMorphisms C] (h : ∀ (j : J), (T j).mor₃ ≫ (CategoryTheory.shiftFunctor C 1).map (T j).mor₁ = 0)
Goal: (CategoryTheory.Pretriangulated.productTriangle T).mor₃ ≫
    (CategoryTheory.shiftFunctor C 1).map (CategoryTheory.Pretriangulated.productTriangle T).mor₁ =
  0
-- CategoryTheory.Pretriangulated.contractibleTriangleFunctor_obj
@[simps]
def contractibleTriangleFunctor [HasZeroObject C] [HasZeroMorphisms C] : C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C)
Goal: (CategoryTheory.Pretriangulated.contractibleTriangleFunctor C).obj X =
  CategoryTheory.Pretriangulated.contractibleTriangle X
-- CategoryTheory.Pretriangulated.contractibleTriangleFunctor_map_hom₃
@[simps]
def contractibleTriangleFunctor [HasZeroObject C] [HasZeroMorphisms C] : C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C]
Goal: ∀ {X Y : C} (f : X ⟶ Y), ((CategoryTheory.Pretriangulated.contractibleTriangleFunctor C).map f).hom₃ = 0
-- CategoryTheory.Pretriangulated.contractibleTriangleFunctor_map_hom₁
@[simps]
def contractibleTriangleFunctor [HasZeroObject C] [HasZeroMorphisms C] : C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C]
Goal: ∀ {X Y : C} (f : X ⟶ Y), ((CategoryTheory.Pretriangulated.contractibleTriangleFunctor C).map f).hom₁ = f
-- CategoryTheory.Pretriangulated.contractibleTriangleFunctor_map_hom₂
@[simps]
def contractibleTriangleFunctor [HasZeroObject C] [HasZeroMorphisms C] : C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C]
Goal: ∀ {X Y : C} (f : X ⟶ Y), ((CategoryTheory.Pretriangulated.contractibleTriangleFunctor C).map f).hom₂ = f
-- CategoryTheory.Pretriangulated.Triangle.π₁_obj
@[simps]
def π₁ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: CategoryTheory.Pretriangulated.Triangle.π₁.obj T = T.obj₁
-- CategoryTheory.Pretriangulated.Triangle.π₁_map
@[simps]
def π₁ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  CategoryTheory.Pretriangulated.Triangle.π₁.map f = f.hom₁
-- CategoryTheory.Pretriangulated.Triangle.π₂_obj
@[simps]
def π₂ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: CategoryTheory.Pretriangulated.Triangle.π₂.obj T = T.obj₂
-- CategoryTheory.Pretriangulated.Triangle.π₂_map
@[simps]
def π₂ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  CategoryTheory.Pretriangulated.Triangle.π₂.map f = f.hom₂
-- CategoryTheory.Pretriangulated.Triangle.π₃_map
@[simps]
def π₃ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  CategoryTheory.Pretriangulated.Triangle.π₃.map f = f.hom₃
-- CategoryTheory.Pretriangulated.Triangle.π₃_obj
@[simps]
def π₃ : Triangle C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: CategoryTheory.Pretriangulated.Triangle.π₃.obj T = T.obj₃
-- CategoryTheory.Pretriangulated.Triangle.rotate_obj₃
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.obj₃ = (CategoryTheory.shiftFunctor C 1).obj T.obj₁
-- CategoryTheory.Pretriangulated.Triangle.rotate_mor₁
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.mor₁ = T.mor₂
-- CategoryTheory.Pretriangulated.Triangle.rotate_mor₂
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.mor₂ = T.mor₃
-- CategoryTheory.Pretriangulated.Triangle.rotate_mor₃
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.mor₃ = -(CategoryTheory.shiftFunctor C 1).map T.mor₁
-- CategoryTheory.Pretriangulated.Triangle.rotate_obj₁
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.obj₁ = T.obj₂
-- CategoryTheory.Pretriangulated.Triangle.rotate_obj₂
@[simps!]
def Triangle.rotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.rotate.obj₂ = T.obj₃
-- CategoryTheory.Pretriangulated.Triangle.invRotate_mor₂
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.mor₂ = T.mor₁
-- CategoryTheory.Pretriangulated.Triangle.invRotate_mor₃
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.mor₃ = T.mor₂ ≫ (CategoryTheory.shiftFunctorCompIsoId C (-1) 1 ⋯).inv.app T.3
-- CategoryTheory.Pretriangulated.Triangle.invRotate_obj₁
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.obj₁ = (CategoryTheory.shiftFunctor C (-1)).obj T.obj₃
-- CategoryTheory.Pretriangulated.Triangle.invRotate_obj₂
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.obj₂ = T.obj₁
-- CategoryTheory.Pretriangulated.Triangle.invRotate_obj₃
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.obj₃ = T.obj₂
-- CategoryTheory.Pretriangulated.Triangle.invRotate_mor₁
@[simps!]
def Triangle.invRotate (T : Triangle C) : Triangle C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T.invRotate.mor₁ =
  -(CategoryTheory.shiftFunctor C (-1)).map T.mor₃ ≫ (CategoryTheory.shiftFunctorCompIsoId C 1 (-1) ⋯).hom.app T.obj₁
-- CategoryTheory.Pretriangulated.rotate_map_hom₁
@[simps]
def rotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  ((CategoryTheory.Pretriangulated.rotate C).map f).hom₁ = f.hom₂
-- CategoryTheory.Pretriangulated.rotate_obj
@[simps]
def rotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotate C).obj T = T.rotate
-- CategoryTheory.Pretriangulated.rotate_map_hom₂
@[simps]
def rotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  ((CategoryTheory.Pretriangulated.rotate C).map f).hom₂ = f.hom₃
-- CategoryTheory.Pretriangulated.rotate_map_hom₃
@[simps]
def rotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  ((CategoryTheory.Pretriangulated.rotate C).map f).hom₃ = (CategoryTheory.shiftFunctor C 1).map f.hom₁
-- CategoryTheory.Pretriangulated.invRotate_obj
@[simps]
def invRotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotate C).obj T = T.invRotate
-- CategoryTheory.Pretriangulated.invRotate_map_hom₁
@[simps]
def invRotate : Triangle C ⥤ Triangle C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ]
Goal: ∀ {X Y : CategoryTheory.Pretriangulated.Triangle C} (f : X ⟶ Y),
  ((CategoryTheory.Pretriangulated.invRotate C).map f).hom₁ = (CategoryTheory.shiftFunctor C (-1)).map f.hom₃