ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.MonoidalCategory.rightAssocTensor_obj
@[simp]
theorem rightAssocTensor_obj (X) : (rightAssocTensor C).obj X = X.1 ⊗ X.2.1 ⊗ X.2.2 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C × C × C)
Goal: (CategoryTheory.MonoidalCategory.rightAssocTensor C).obj X =
  CategoryTheory.MonoidalCategory.tensorObj X.1 (CategoryTheory.MonoidalCategory.tensorObj X.2.1 X.2.2)
-- CategoryTheory.MonoidalCategory.rightAssocTensor_map
@[simp]
theorem rightAssocTensor_map {X Y} (f : X ⟶ Y) : (rightAssocTensor C).map f = f.1 ⊗ f.2.1 ⊗ f.2.2 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {X Y : C × C × C} (f : X ⟶ Y)
Goal: (CategoryTheory.MonoidalCategory.rightAssocTensor C).map f =
  CategoryTheory.MonoidalCategory.tensorHom f.1 (CategoryTheory.MonoidalCategory.tensorHom f.2.1 f.2.2)
-- CategoryTheory.MonoidalCategory.curriedTensor_map_app
@[simps]
def curriedTensor : C ⥤ C ⥤ C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C]
Goal: ∀ {X Y : C} (f : X ⟶ Y) (Y_1 : C),
  ((CategoryTheory.MonoidalCategory.curriedTensor C).map f).app Y_1 = CategoryTheory.MonoidalCategory.whiskerRight f Y_1
-- CategoryTheory.MonoidalCategory.curriedTensor_obj_map
@[simps]
def curriedTensor : C ⥤ C ⥤ C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ {X_1 Y : C} (g : X_1 ⟶ Y),
  ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X).map g = CategoryTheory.MonoidalCategory.whiskerLeft X g
-- CategoryTheory.MonoidalCategory.curriedTensor_obj_obj
@[simps]
def curriedTensor : C ⥤ C ⥤ C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y : C)
Goal: ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X).obj Y = CategoryTheory.MonoidalCategory.tensorObj X Y
-- CategoryTheory.MonoidalCategory.tensorLeft_obj
@[simps!]
def tensorLeft (X : C) : C ⥤ C 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y : C)
Goal: (CategoryTheory.MonoidalCategory.tensorLeft X).obj Y = CategoryTheory.MonoidalCategory.tensorObj X Y
-- CategoryTheory.MonoidalCategory.tensorLeft_map
@[simps!]
def tensorLeft (X : C) : C ⥤ C 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ {X_1 Y : C} (g : X_1 ⟶ Y),
  (CategoryTheory.MonoidalCategory.tensorLeft X).map g = CategoryTheory.MonoidalCategory.whiskerLeft X g
-- CategoryTheory.MonoidalCategory.tensorRight_obj
@[simps!]
def tensorRight (X : C) : C ⥤ C 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X j : C)
Goal: (CategoryTheory.MonoidalCategory.tensorRight X).obj j = CategoryTheory.MonoidalCategory.tensorObj j X
-- CategoryTheory.MonoidalCategory.tensorRight_map
@[simps!]
def tensorRight (X : C) : C ⥤ C 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ {X_1 Y : C} (f : X_1 ⟶ Y),
  (CategoryTheory.MonoidalCategory.tensorRight X).map f = CategoryTheory.MonoidalCategory.whiskerRight f X
-- CategoryTheory.MonoidalCategory.associatorNatIso_hom_app
@[simps!]
def associatorNatIso : leftAssocTensor C ≅ rightAssocTensor C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C × C × C)
Goal: (CategoryTheory.MonoidalCategory.associatorNatIso C).hom.app X =
  (CategoryTheory.MonoidalCategory.associator X.1 X.2.1 X.2.2).hom
-- CategoryTheory.MonoidalCategory.associatorNatIso_inv_app
@[simps!]
def associatorNatIso : leftAssocTensor C ≅ rightAssocTensor C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C × C × C)
Goal: (CategoryTheory.MonoidalCategory.associatorNatIso C).inv.app X =
  (CategoryTheory.MonoidalCategory.associator X.1 X.2.1 X.2.2).inv
-- CategoryTheory.MonoidalCategory.leftUnitorNatIso_hom_app
@[simps!]
def leftUnitorNatIso : tensorUnitLeft C ≅ 𝟭 C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: (CategoryTheory.MonoidalCategory.leftUnitorNatIso C).hom.app X = (CategoryTheory.MonoidalCategory.leftUnitor X).hom
-- CategoryTheory.MonoidalCategory.leftUnitorNatIso_inv_app
@[simps!]
def leftUnitorNatIso : tensorUnitLeft C ≅ 𝟭 C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: (CategoryTheory.MonoidalCategory.leftUnitorNatIso C).inv.app X = (CategoryTheory.MonoidalCategory.leftUnitor X).inv
-- CategoryTheory.MonoidalCategory.rightUnitorNatIso_hom_app
@[simps!]
def rightUnitorNatIso : tensorUnitRight C ≅ 𝟭 C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: (CategoryTheory.MonoidalCategory.rightUnitorNatIso C).hom.app X = (CategoryTheory.MonoidalCategory.rightUnitor X).hom
-- CategoryTheory.MonoidalCategory.rightUnitorNatIso_inv_app
@[simps!]
def rightUnitorNatIso : tensorUnitRight C ≅ 𝟭 C 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: (CategoryTheory.MonoidalCategory.rightUnitorNatIso C).inv.app X = (CategoryTheory.MonoidalCategory.rightUnitor X).inv
-- CategoryTheory.MonoidalCategory.curriedAssociatorNatIso_hom_app_app_app
@[simps!]
def curriedAssociatorNatIso :
    bifunctorComp₁₂ (curriedTensor C) (curriedTensor C) ≅
      bifunctorComp₂₃ (curriedTensor C) (curriedTensor C) 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ (X_1 X_2 : C),
  (((CategoryTheory.MonoidalCategory.curriedAssociatorNatIso C).hom.app X).app X_1).app X_2 =
    (CategoryTheory.MonoidalCategory.associator X X_1 X_2).hom
-- CategoryTheory.MonoidalCategory.curriedAssociatorNatIso_inv_app_app_app
@[simps!]
def curriedAssociatorNatIso :
    bifunctorComp₁₂ (curriedTensor C) (curriedTensor C) ≅
      bifunctorComp₂₃ (curriedTensor C) (curriedTensor C) 
Arguments: (C : Type u) [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ (X_1 X_2 : C),
  (((CategoryTheory.MonoidalCategory.curriedAssociatorNatIso C).inv.app X).app X_1).app X_2 =
    (CategoryTheory.MonoidalCategory.associator X X_1 X_2).inv
-- CategoryTheory.MonoidalCategory.tensorLeftTensor_hom_app
@[simp]
theorem tensorLeftTensor_hom_app (X Y Z : C) :
    (tensorLeftTensor X Y).hom.app Z = (associator X Y Z).hom 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y Z : C)
Goal: (CategoryTheory.MonoidalCategory.tensorLeftTensor X Y).hom.app Z =
  (CategoryTheory.MonoidalCategory.associator X Y Z).hom
-- CategoryTheory.MonoidalCategory.tensorLeftTensor_inv_app
@[simp]
theorem tensorLeftTensor_inv_app (X Y Z : C) :
    (tensorLeftTensor X Y).inv.app Z = (associator X Y Z).inv 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y Z : C)
Goal: (CategoryTheory.MonoidalCategory.tensorLeftTensor X Y).inv.app Z =
  (CategoryTheory.MonoidalCategory.associator X Y Z).inv
-- CategoryTheory.MonoidalCategory.tensorRightTensor_hom_app
@[simp]
theorem tensorRightTensor_hom_app (X Y Z : C) :
    (tensorRightTensor X Y).hom.app Z = (associator Z X Y).inv 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y Z : C)
Goal: (CategoryTheory.MonoidalCategory.tensorRightTensor X Y).hom.app Z =
  (CategoryTheory.MonoidalCategory.associator Z X Y).inv
-- CategoryTheory.MonoidalCategory.tensorRightTensor_inv_app
@[simp]
theorem tensorRightTensor_inv_app (X Y Z : C) :
    (tensorRightTensor X Y).inv.app Z = (associator Z X Y).hom 
Arguments: {C : Type u} [𝒞 : CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (X Y Z : C)
Goal: (CategoryTheory.MonoidalCategory.tensorRightTensor X Y).inv.app Z =
  (CategoryTheory.MonoidalCategory.associator Z X Y).hom
-- CategoryTheory.MonoidalCategory.prodMonoidal_associator
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X Y Z : C₁ × C₂)
Goal: CategoryTheory.MonoidalCategory.associator X Y Z =
  (CategoryTheory.MonoidalCategory.associator X.1 Y.1 Z.1).prod (CategoryTheory.MonoidalCategory.associator X.2 Y.2 Z.2)
-- CategoryTheory.MonoidalCategory.prodMonoidal_tensorHom
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂]
Goal: ∀ {X₁ Y₁ X₂ Y₂ : C₁ × C₂} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂),
  CategoryTheory.MonoidalCategory.tensorHom f g =
    (CategoryTheory.MonoidalCategory.tensorHom f.1 g.1, CategoryTheory.MonoidalCategory.tensorHom f.2 g.2)
-- CategoryTheory.MonoidalCategory.prodMonoidal_whiskerLeft
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: ∀ (x x_1 : C₁ × C₂) (f : x ⟶ x_1),
  CategoryTheory.MonoidalCategory.whiskerLeft X f =
    (CategoryTheory.MonoidalCategory.whiskerLeft X.1 f.1, CategoryTheory.MonoidalCategory.whiskerLeft X.2 f.2)
-- CategoryTheory.MonoidalCategory.prodMonoidal_tensorObj
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X Y : C₁ × C₂)
Goal: CategoryTheory.MonoidalCategory.tensorObj X Y =
  (CategoryTheory.MonoidalCategory.tensorObj X.1 Y.1, CategoryTheory.MonoidalCategory.tensorObj X.2 Y.2)
-- CategoryTheory.MonoidalCategory.prodMonoidal_tensorUnit
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂]
Goal: 𝟙_ (C₁ × C₂) = (𝟙_ C₁, 𝟙_ C₂)
-- CategoryTheory.MonoidalCategory.prodMonoidal_whiskerRight
@[simps! tensorObj tensorHom tensorUnit whiskerLeft whiskerRight associator]
instance prodMonoidal : MonoidalCategory (C₁ × C₂) 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂]
Goal: ∀ {X₁ X₂ : C₁ × C₂} (f : X₁ ⟶ X₂) (X : C₁ × C₂),
  CategoryTheory.MonoidalCategory.whiskerRight f X =
    (CategoryTheory.MonoidalCategory.whiskerRight f.1 X.1, CategoryTheory.MonoidalCategory.whiskerRight f.2 X.2)
-- CategoryTheory.MonoidalCategory.prodMonoidal_leftUnitor_hom_fst
@[simp]
theorem prodMonoidal_leftUnitor_hom_fst (X : C₁ × C₂) :
    ((λ_ X).hom : 𝟙_ _ ⊗ X ⟶ X).1 = (λ_ X.1).hom 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).hom.1 = (CategoryTheory.MonoidalCategory.leftUnitor X.1).hom
-- CategoryTheory.MonoidalCategory.prodMonoidal_leftUnitor_hom_snd
@[simp]
theorem prodMonoidal_leftUnitor_hom_snd (X : C₁ × C₂) :
    ((λ_ X).hom : 𝟙_ _ ⊗ X ⟶ X).2 = (λ_ X.2).hom 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).hom.2 = (CategoryTheory.MonoidalCategory.leftUnitor X.2).hom
-- CategoryTheory.MonoidalCategory.prodMonoidal_leftUnitor_inv_fst
@[simp]
theorem prodMonoidal_leftUnitor_inv_fst (X : C₁ × C₂) :
    ((λ_ X).inv : X ⟶ 𝟙_ _ ⊗ X).1 = (λ_ X.1).inv 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).inv.1 = (CategoryTheory.MonoidalCategory.leftUnitor X.1).inv
-- CategoryTheory.MonoidalCategory.prodMonoidal_leftUnitor_inv_snd
@[simp]
theorem prodMonoidal_leftUnitor_inv_snd (X : C₁ × C₂) :
    ((λ_ X).inv : X ⟶ 𝟙_ _ ⊗ X).2 = (λ_ X.2).inv 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).inv.2 = (CategoryTheory.MonoidalCategory.leftUnitor X.2).inv
-- CategoryTheory.MonoidalCategory.prodMonoidal_rightUnitor_hom_fst
@[simp]
theorem prodMonoidal_rightUnitor_hom_fst (X : C₁ × C₂) :
    ((ρ_ X).hom : X ⊗ 𝟙_ _ ⟶ X).1 = (ρ_ X.1).hom 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).hom.1 = (CategoryTheory.MonoidalCategory.rightUnitor X.1).hom
-- CategoryTheory.MonoidalCategory.prodMonoidal_rightUnitor_hom_snd
@[simp]
theorem prodMonoidal_rightUnitor_hom_snd (X : C₁ × C₂) :
    ((ρ_ X).hom : X ⊗ 𝟙_ _ ⟶ X).2 = (ρ_ X.2).hom 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).hom.2 = (CategoryTheory.MonoidalCategory.rightUnitor X.2).hom
-- CategoryTheory.MonoidalCategory.prodMonoidal_rightUnitor_inv_fst
@[simp]
theorem prodMonoidal_rightUnitor_inv_fst (X : C₁ × C₂) :
    ((ρ_ X).inv : X ⟶ X ⊗ 𝟙_ _).1 = (ρ_ X.1).inv 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).inv.1 = (CategoryTheory.MonoidalCategory.rightUnitor X.1).inv
-- CategoryTheory.MonoidalCategory.prodMonoidal_rightUnitor_inv_snd
@[simp]
theorem prodMonoidal_rightUnitor_inv_snd (X : C₁ × C₂) :
    ((ρ_ X).inv : X ⟶ X ⊗ 𝟙_ _).2 = (ρ_ X.2).inv 
Arguments: (C₁ : Type u₁) [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.MonoidalCategory C₁] (C₂ : Type u₂) [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.MonoidalCategory C₂] (X : C₁ × C₂)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).inv.2 = (CategoryTheory.MonoidalCategory.rightUnitor X.2).inv
-- CategoryTheory.Pretriangulated.isomorphic_distinguished
class Pretriangulated [∀ n : ℤ, Functor.Additive (shiftFunctor C n)] where
    distinguishedTriangles : Set (Triangle C)
    isomorphic_distinguished :
    ∀ T₁ ∈ distinguishedTriangles, ∀ (T₂) (_ : T₂ ≅ T₁), T₂ ∈ distinguishedTriangles
    contractible_distinguished : ∀ X : C, contractibleTriangle X ∈ distinguishedTriangles
    distinguished_cocone_triangle :
    ∀ {X Y : C} (f : X ⟶ Y),
      ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧), Triangle.mk f g h ∈ distinguishedTriangles
    rotate_distinguished_triangle :
    ∀ T : Triangle C, T ∈ distinguishedTriangles ↔ T.rotate ∈ distinguishedTriangles
    complete_distinguished_triangle_morphism :
    ∀ (T₁ T₂ : Triangle C) (_ : T₁ ∈ distinguishedTriangles) (_ : T₂ ∈ distinguishedTriangles)
      (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂) (_ : T₁.mor₁ ≫ b = a ≫ T₂.mor₁),
      ∃ c : T₁.obj₃ ⟶ T₂.obj₃, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ a⟦1⟧' = c ≫ T₂.mor₃
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C)
Goal: T₁ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles →
  ∀ (T₂ : CategoryTheory.Pretriangulated.Triangle C),
    (T₂ ≅ T₁) → T₂ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Pretriangulated.distinguished_cocone_triangle
class Pretriangulated [∀ n : ℤ, Functor.Additive (shiftFunctor C n)] where
    distinguishedTriangles : Set (Triangle C)
    isomorphic_distinguished :
    ∀ T₁ ∈ distinguishedTriangles, ∀ (T₂) (_ : T₂ ≅ T₁), T₂ ∈ distinguishedTriangles
    contractible_distinguished : ∀ X : C, contractibleTriangle X ∈ distinguishedTriangles
    distinguished_cocone_triangle :
    ∀ {X Y : C} (f : X ⟶ Y),
      ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧), Triangle.mk f g h ∈ distinguishedTriangles
    rotate_distinguished_triangle :
    ∀ T : Triangle C, T ∈ distinguishedTriangles ↔ T.rotate ∈ distinguishedTriangles
    complete_distinguished_triangle_morphism :
    ∀ (T₁ T₂ : Triangle C) (_ : T₁ ∈ distinguishedTriangles) (_ : T₂ ∈ distinguishedTriangles)
      (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂) (_ : T₁.mor₁ ≫ b = a ≫ T₂.mor₁),
      ∃ c : T₁.obj₃ ⟶ T₂.obj₃, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ a⟦1⟧' = c ≫ T₂.mor₃
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] {X Y : C} (f : X ⟶ Y)
Goal: ∃ Z g h, CategoryTheory.Pretriangulated.Triangle.mk f g h ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Pretriangulated.complete_distinguished_triangle_morphism
class Pretriangulated [∀ n : ℤ, Functor.Additive (shiftFunctor C n)] where
    distinguishedTriangles : Set (Triangle C)
    isomorphic_distinguished :
    ∀ T₁ ∈ distinguishedTriangles, ∀ (T₂) (_ : T₂ ≅ T₁), T₂ ∈ distinguishedTriangles
    contractible_distinguished : ∀ X : C, contractibleTriangle X ∈ distinguishedTriangles
    distinguished_cocone_triangle :
    ∀ {X Y : C} (f : X ⟶ Y),
      ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧), Triangle.mk f g h ∈ distinguishedTriangles
    rotate_distinguished_triangle :
    ∀ T : Triangle C, T ∈ distinguishedTriangles ↔ T.rotate ∈ distinguishedTriangles
    complete_distinguished_triangle_morphism :
    ∀ (T₁ T₂ : Triangle C) (_ : T₁ ∈ distinguishedTriangles) (_ : T₂ ∈ distinguishedTriangles)
      (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂) (_ : T₁.mor₁ ≫ b = a ≫ T₂.mor₁),
      ∃ c : T₁.obj₃ ⟶ T₂.obj₃, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ a⟦1⟧' = c ≫ T₂.mor₃
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T₁ T₂ : CategoryTheory.Pretriangulated.Triangle C)
Goal: T₁ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles →
  T₂ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles →
    ∀ (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂),
      T₁.mor₁ ≫ b = a ≫ T₂.mor₁ →
        ∃ c, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ (CategoryTheory.shiftFunctor C 1).map a = c ≫ T₂.mor₃
-- CategoryTheory.Pretriangulated.rotate_distinguished_triangle
class Pretriangulated [∀ n : ℤ, Functor.Additive (shiftFunctor C n)] where
    distinguishedTriangles : Set (Triangle C)
    isomorphic_distinguished :
    ∀ T₁ ∈ distinguishedTriangles, ∀ (T₂) (_ : T₂ ≅ T₁), T₂ ∈ distinguishedTriangles
    contractible_distinguished : ∀ X : C, contractibleTriangle X ∈ distinguishedTriangles
    distinguished_cocone_triangle :
    ∀ {X Y : C} (f : X ⟶ Y),
      ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧), Triangle.mk f g h ∈ distinguishedTriangles
    rotate_distinguished_triangle :
    ∀ T : Triangle C, T ∈ distinguishedTriangles ↔ T.rotate ∈ distinguishedTriangles
    complete_distinguished_triangle_morphism :
    ∀ (T₁ T₂ : Triangle C) (_ : T₁ ∈ distinguishedTriangles) (_ : T₂ ∈ distinguishedTriangles)
      (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂) (_ : T₁.mor₁ ≫ b = a ≫ T₂.mor₁),
      ∃ c : T₁.obj₃ ⟶ T₂.obj₃, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ a⟦1⟧' = c ≫ T₂.mor₃
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles ↔
  T.rotate ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Pretriangulated.contractible_distinguished
class Pretriangulated [∀ n : ℤ, Functor.Additive (shiftFunctor C n)] where
    distinguishedTriangles : Set (Triangle C)
    isomorphic_distinguished :
    ∀ T₁ ∈ distinguishedTriangles, ∀ (T₂) (_ : T₂ ≅ T₁), T₂ ∈ distinguishedTriangles
    contractible_distinguished : ∀ X : C, contractibleTriangle X ∈ distinguishedTriangles
    distinguished_cocone_triangle :
    ∀ {X Y : C} (f : X ⟶ Y),
      ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧), Triangle.mk f g h ∈ distinguishedTriangles
    rotate_distinguished_triangle :
    ∀ T : Triangle C, T ∈ distinguishedTriangles ↔ T.rotate ∈ distinguishedTriangles
    complete_distinguished_triangle_morphism :
    ∀ (T₁ T₂ : Triangle C) (_ : T₁ ∈ distinguishedTriangles) (_ : T₂ ∈ distinguishedTriangles)
      (a : T₁.obj₁ ⟶ T₂.obj₁) (b : T₁.obj₂ ⟶ T₂.obj₂) (_ : T₁.mor₁ ≫ b = a ≫ T₂.mor₁),
      ∃ c : T₁.obj₃ ⟶ T₂.obj₃, T₁.mor₂ ≫ c = b ≫ T₂.mor₂ ∧ T₁.mor₃ ≫ a⟦1⟧' = c ≫ T₂.mor₃
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (X : C)
Goal: CategoryTheory.Pretriangulated.contractibleTriangle X ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Pretriangulated.distinguished_iff_of_iso
lemma distinguished_iff_of_iso {T₁ T₂ : Triangle C} (e : T₁ ≅ T₂) :
    (T₁ ∈ distTriang C) ↔ T₂ ∈ distTriang C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] {T₁ T₂ : CategoryTheory.Pretriangulated.Triangle C} (e : T₁ ≅ T₂)
Goal: T₁ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles ↔ T₂ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Pretriangulated.rot_of_distTriang
theorem rot_of_distTriang (T : Triangle C) (H : T ∈ distTriang C) : T.rotate ∈ distTriang C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (H : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles)
Goal: T.rotate ∈ CategoryTheory.Pretriangulated.distinguishedTriangles