ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- 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₃ = f.hom₂
-- 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₂ = f.hom₁
-- CategoryTheory.Pretriangulated.rotCompInvRot_hom_app_hom₃
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.hom.app X).hom₃ = 𝟙 X.obj₃
-- CategoryTheory.Pretriangulated.rotCompInvRot_hom_app_hom₂
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.hom.app X).hom₂ = 𝟙 X.obj₂
-- CategoryTheory.Pretriangulated.rotCompInvRot_inv_app_hom₃
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.inv.app X).hom₃ = 𝟙 X.obj₃
-- CategoryTheory.Pretriangulated.rotCompInvRot_hom_app_hom₁
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.hom.app X).hom₁ =
  (CategoryTheory.shiftFunctorCompIsoId C 1 (-1) ⋯).inv.app X.obj₁
-- CategoryTheory.Pretriangulated.rotCompInvRot_inv_app_hom₂
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.inv.app X).hom₂ = 𝟙 X.obj₂
-- CategoryTheory.Pretriangulated.rotCompInvRot_inv_app_hom₁
@[simps!]
def rotCompInvRot : 𝟭 (Triangle C) ≅ rotate C ⋙ invRotate C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.rotCompInvRot.inv.app X).hom₁ =
  (CategoryTheory.shiftFunctorCompIsoId C 1 (-1) ⋯).hom.app X.obj₁
-- CategoryTheory.Pretriangulated.invRotCompRot_hom_app_hom₂
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.hom.app X).hom₂ = 𝟙 X.obj₂
-- CategoryTheory.Pretriangulated.invRotCompRot_inv_app_hom₂
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.inv.app X).hom₂ = 𝟙 X.obj₂
-- CategoryTheory.Pretriangulated.invRotCompRot_hom_app_hom₁
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.hom.app X).hom₁ = 𝟙 X.obj₁
-- CategoryTheory.Pretriangulated.invRotCompRot_inv_app_hom₃
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.inv.app X).hom₃ =
  (CategoryTheory.shiftFunctorCompIsoId C (-1) 1 ⋯).inv.app X.obj₃
-- CategoryTheory.Pretriangulated.invRotCompRot_hom_app_hom₃
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.hom.app X).hom₃ =
  (CategoryTheory.shiftFunctorCompIsoId C (-1) 1 ⋯).hom.app X.obj₃
-- CategoryTheory.Pretriangulated.invRotCompRot_inv_app_hom₁
@[simps!]
def invRotCompRot : invRotate C ⋙ rotate C ≅ 𝟭 (Triangle C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] (X : CategoryTheory.Pretriangulated.Triangle C)
Goal: (CategoryTheory.Pretriangulated.invRotCompRot.inv.app X).hom₁ = 𝟙 X.obj₁
-- CategoryTheory.Pretriangulated.triangleRotation_functor
@[simps]
def triangleRotation : Equivalence (Triangle C) (Triangle C) 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive]
Goal: (CategoryTheory.Pretriangulated.triangleRotation C).functor = CategoryTheory.Pretriangulated.rotate C
-- CategoryTheory.Pretriangulated.triangleRotation_unitIso
@[simps]
def triangleRotation : Equivalence (Triangle C) (Triangle C) 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive]
Goal: (CategoryTheory.Pretriangulated.triangleRotation C).unitIso = CategoryTheory.Pretriangulated.rotCompInvRot
-- CategoryTheory.Pretriangulated.triangleRotation_counitIso
@[simps]
def triangleRotation : Equivalence (Triangle C) (Triangle C) 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive]
Goal: (CategoryTheory.Pretriangulated.triangleRotation C).counitIso = CategoryTheory.Pretriangulated.invRotCompRot
-- CategoryTheory.Pretriangulated.triangleRotation_inverse
@[simps]
def triangleRotation : Equivalence (Triangle C) (Triangle C) 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.HasShift C ℤ] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive]
Goal: (CategoryTheory.Pretriangulated.triangleRotation C).inverse = CategoryTheory.Pretriangulated.invRotate C
-- CategoryTheory.Triangulated.Subcategory.ext₂'
structure Subcategory where
    P : C → Prop
  zero' : ∃ (Z : C) (_ : IsZero Z), P Z
  shift (X : C) (n : ℤ) : P X → P (X⟦n⟧)
  ext₂' (T : Triangle C) (_ : T ∈ distTriang C) : P T.obj₁ → P T.obj₃ → isoClosure P T.obj₂
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (self : CategoryTheory.Triangulated.Subcategory C) (T : CategoryTheory.Pretriangulated.Triangle C)
Goal: T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles →
  self.P T.obj₁ → self.P T.obj₃ → CategoryTheory.isoClosure self.P T.obj₂
-- CategoryTheory.Triangulated.Subcategory.shift
structure Subcategory where
    P : C → Prop
  zero' : ∃ (Z : C) (_ : IsZero Z), P Z
  shift (X : C) (n : ℤ) : P X → P (X⟦n⟧)
  ext₂' (T : Triangle C) (_ : T ∈ distTriang C) : P T.obj₁ → P T.obj₃ → isoClosure P T.obj₂
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (self : CategoryTheory.Triangulated.Subcategory C) (X : C) (n : ℤ)
Goal: self.P X → self.P ((CategoryTheory.shiftFunctor C n).obj X)
-- CategoryTheory.Triangulated.Subcategory.zero'
structure Subcategory where
    P : C → Prop
  zero' : ∃ (Z : C) (_ : IsZero Z), P Z
  shift (X : C) (n : ℤ) : P X → P (X⟦n⟧)
  ext₂' (T : Triangle C) (_ : T ∈ distTriang C) : P T.obj₁ → P T.obj₃ → isoClosure P T.obj₂
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (self : CategoryTheory.Triangulated.Subcategory C)
Goal: ∃ Z, ∃ (_ : CategoryTheory.Limits.IsZero Z), self.P Z
-- CategoryTheory.Triangulated.Subcategory.zero
lemma zero [ClosedUnderIsomorphisms S.P] : S.P 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) [CategoryTheory.ClosedUnderIsomorphisms S.P]
Goal: S.P 0
-- CategoryTheory.Triangulated.Subcategory.ext₂
lemma ext₂ [ClosedUnderIsomorphisms S.P]
    (T : Triangle C) (hT : T ∈ distTriang C) (h₁ : S.P T.obj₁)
    (h₃ : S.P T.obj₃) : S.P T.obj₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) [CategoryTheory.ClosedUnderIsomorphisms S.P] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (h₁ : S.P T.obj₁) (h₃ : S.P T.obj₃)
Goal: S.P T.obj₂
-- CategoryTheory.Triangulated.Subcategory.W_iff
lemma W_iff {X Y : C} (f : X ⟶ Y) :
    S.W f ↔ ∃ (Z : C) (g : Y ⟶ Z) (h : Z ⟶ X⟦(1 : ℤ)⟧)
      (_ : Triangle.mk f g h ∈ distTriang C), S.P Z 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {X Y : C} (f : X ⟶ Y)
Goal: S.W f ↔
  ∃ Z g h,
    ∃ (_ : CategoryTheory.Pretriangulated.Triangle.mk f g h ∈ CategoryTheory.Pretriangulated.distinguishedTriangles),
      S.P Z
-- CategoryTheory.Triangulated.Subcategory.W_iff'
lemma W_iff' {Y Z : C} (g : Y ⟶ Z) :
    S.W g ↔ ∃ (X : C) (f : X ⟶ Y) (h : Z ⟶ X⟦(1 : ℤ)⟧)
      (_ : Triangle.mk f g h ∈ distTriang C), S.P X 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {Y Z : C} (g : Y ⟶ Z)
Goal: S.W g ↔
  ∃ X f h,
    ∃ (_ : CategoryTheory.Pretriangulated.Triangle.mk f g h ∈ CategoryTheory.Pretriangulated.distinguishedTriangles),
      S.P X
-- CategoryTheory.Triangulated.Subcategory.W.mk
lemma W.mk {T : Triangle C} (hT : T ∈ distTriang C) (h : S.P T.obj₃) : S.W T.mor₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {T : CategoryTheory.Pretriangulated.Triangle C} (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (h : S.P T.obj₃)
Goal: S.W T.mor₁
-- CategoryTheory.Triangulated.Subcategory.W.mk'
lemma W.mk' {T : Triangle C} (hT : T ∈ distTriang C) (h : S.P T.obj₁) : S.W T.mor₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {T : CategoryTheory.Pretriangulated.Triangle C} (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (h : S.P T.obj₁)
Goal: S.W T.mor₂
-- CategoryTheory.Triangulated.Subcategory.isoClosure_W
lemma isoClosure_W : S.isoClosure.W = S.W 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C)
Goal: S.isoClosure.W = S.W
-- CategoryTheory.Triangulated.Subcategory.W_of_isIso
lemma W_of_isIso {X Y : C} (f : X ⟶ Y) [IsIso f] : S.W f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {X Y : C} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: S.W f
-- CategoryTheory.Triangulated.Subcategory.smul_mem_W_iff
lemma smul_mem_W_iff {X Y : C} (f : X ⟶ Y) (n : ℤˣ) :
    S.W (n • f) ↔ S.W f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) {X Y : C} (f : X ⟶ Y) (n : ℤˣ)
Goal: S.W (n • f) ↔ S.W f
-- CategoryTheory.Triangulated.Subcategory.W.shift
lemma W.shift {X₁ X₂ : C} {f : X₁ ⟶ X₂} (hf : S.W f) (n : ℤ) : S.W (f⟦n⟧') 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {S : CategoryTheory.Triangulated.Subcategory C} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (hf : S.W f) (n : ℤ)
Goal: S.W ((CategoryTheory.shiftFunctor C n).map f)
-- CategoryTheory.Triangulated.Subcategory.W.unshift
lemma W.unshift {X₁ X₂ : C} {f : X₁ ⟶ X₂} {n : ℤ} (hf : S.W (f⟦n⟧')) : S.W f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {S : CategoryTheory.Triangulated.Subcategory C} {X₁ X₂ : C} {f : X₁ ⟶ X₂} {n : ℤ} (hf : S.W ((CategoryTheory.shiftFunctor C n).map f))
Goal: S.W f
-- CategoryTheory.Triangulated.Subcategory.mem_W_iff_of_distinguished
lemma mem_W_iff_of_distinguished
    [ClosedUnderIsomorphisms S.P] (T : Triangle C) (hT : T ∈ distTriang C) :
    S.W T.mor₁ ↔ S.P T.obj₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) [CategoryTheory.ClosedUnderIsomorphisms S.P] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles)
Goal: S.W T.mor₁ ↔ S.P T.obj₃
-- CategoryTheory.Triangulated.Subcategory.ext₁
lemma ext₁ [ClosedUnderIsomorphisms S.P] (h₂ : S.P T.obj₂) (h₃ : S.P T.obj₃) :
    S.P T.obj₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) [CategoryTheory.ClosedUnderIsomorphisms S.P] (h₂ : S.P T.obj₂) (h₃ : S.P T.obj₃)
Goal: S.P T.obj₁
-- CategoryTheory.Triangulated.Subcategory.ext₃
lemma ext₃ [ClosedUnderIsomorphisms S.P] (h₁ : S.P T.obj₁) (h₂ : S.P T.obj₂) :
    S.P T.obj₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) [CategoryTheory.ClosedUnderIsomorphisms S.P] (h₁ : S.P T.obj₁) (h₂ : S.P T.obj₂)
Goal: S.P T.obj₃
-- CategoryTheory.Triangulated.Subcategory.ext₁'
lemma ext₁' (h₂ : S.P T.obj₂) (h₃ : S.P T.obj₃) :
    CategoryTheory.isoClosure S.P T.obj₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (h₂ : S.P T.obj₂) (h₃ : S.P T.obj₃)
Goal: CategoryTheory.isoClosure S.P T.obj₁
-- CategoryTheory.Triangulated.Subcategory.ext₃'
lemma ext₃' (h₁ : S.P T.obj₁) (h₂ : S.P T.obj₂) :
    CategoryTheory.isoClosure S.P T.obj₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] (S : CategoryTheory.Triangulated.Subcategory C) (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (h₁ : S.P T.obj₁) (h₂ : S.P T.obj₂)
Goal: CategoryTheory.isoClosure S.P T.obj₃
-- CategoryTheory.GradedObject.mapBifunctor_map_app
@[simps]
def mapBifunctor (I J : Type*) :
    GradedObject I C₁ ⥤ GradedObject J C₂ ⥤ GradedObject (I × J) C₃ 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_7, u_2} C₂] [CategoryTheory.Category.{u_8, u_3} C₃] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)) (I : Type u_4) (J : Type u_5)
Goal: ∀ {X Y : CategoryTheory.GradedObject I C₁} (φ : X ⟶ Y) (Y_1 : CategoryTheory.GradedObject J C₂) (ij : I × J),
  ((CategoryTheory.GradedObject.mapBifunctor F I J).map φ).app Y_1 ij = (F.map (φ ij.1)).app (Y_1 ij.2)
-- CategoryTheory.GradedObject.mapBifunctor_obj_obj
@[simps]
def mapBifunctor (I J : Type*) :
    GradedObject I C₁ ⥤ GradedObject J C₂ ⥤ GradedObject (I × J) C₃ 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_7, u_2} C₂] [CategoryTheory.Category.{u_8, u_3} C₃] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)) (I : Type u_4) (J : Type u_5) (X : CategoryTheory.GradedObject I C₁) (Y : CategoryTheory.GradedObject J C₂) (ij : I × J)
Goal: ((CategoryTheory.GradedObject.mapBifunctor F I J).obj X).obj Y ij = (F.obj (X ij.1)).obj (Y ij.2)
-- CategoryTheory.GradedObject.mapBifunctor_obj_map
@[simps]
def mapBifunctor (I J : Type*) :
    GradedObject I C₁ ⥤ GradedObject J C₂ ⥤ GradedObject (I × J) C₃ 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_7, u_2} C₂] [CategoryTheory.Category.{u_8, u_3} C₃] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)) (I : Type u_4) (J : Type u_5) (X : CategoryTheory.GradedObject I C₁)
Goal: ∀ {X_1 Y : CategoryTheory.GradedObject J C₂} (φ : X_1 ⟶ Y) (ij : I × J),
  ((CategoryTheory.GradedObject.mapBifunctor F I J).obj X).map φ ij = (F.obj (X ij.1)).map (φ ij.2)
-- CategoryTheory.GradedObject.ι_mapBifunctorMapMap
@[reassoc (attr := simp)]
lemma ι_mapBifunctorMapMap {X₁ X₂ : GradedObject I C₁} (f : X₁ ⟶ X₂)
    {Y₁ Y₂ : GradedObject J C₂} (g : Y₁ ⟶ Y₂)
    [HasMap (((mapBifunctor F I J).obj X₁).obj Y₁) p]
    [HasMap (((mapBifunctor F I J).obj X₂).obj Y₂) p]
    (i : I) (j : J) (k : K) (h : p ⟨i, j⟩ = k) :
    ιMapBifunctorMapObj F p X₁ Y₁ i j k h ≫ mapBifunctorMapMap F p f g k =
      (F.map (f i)).app (Y₁ j) ≫ (F.obj (X₂ i)).map (g j) ≫
        ιMapBifunctorMapObj F p X₂ Y₂ i j k h 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{u_7, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_9, u_3} C₃] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)) {I : Type u_4} {J : Type u_5} {K : Type u_6} (p : I × J → K) {X₁ X₂ : CategoryTheory.GradedObject I C₁} (f : X₁ ⟶ X₂) {Y₁ Y₂ : CategoryTheory.GradedObject J C₂} (g : Y₁ ⟶ Y₂) [(((CategoryTheory.GradedObject.mapBifunctor F I J).obj X₁).obj Y₁).HasMap p] [(((CategoryTheory.GradedObject.mapBifunctor F I J).obj X₂).obj Y₂).HasMap p] (i : I) (j : J) (k : K) (h : p (i, j) = k)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.ιMapBifunctorMapObj F p X₁ Y₁ i j k h)
    (CategoryTheory.GradedObject.mapBifunctorMapMap F p f g k) =
  CategoryTheory.CategoryStruct.comp ((F.map (f i)).app (Y₁ j))
    (CategoryTheory.CategoryStruct.comp ((F.obj (X₂ i)).map (g j))
      (CategoryTheory.GradedObject.ιMapBifunctorMapObj F p X₂ Y₂ i j k h))
-- CategoryTheory.GradedObject.mapBifunctorMapObj_ext
@[ext]
lemma mapBifunctorMapObj_ext {X : GradedObject I C₁} {Y : GradedObject J C₂} {A : C₃} {k : K}
    [HasMap (((mapBifunctor F I J).obj X).obj Y) p]
    {f g : mapBifunctorMapObj F p X Y k ⟶ A}
    (h : ∀ (i : I) (j : J) (hij : p ⟨i, j⟩ = k),
      ιMapBifunctorMapObj F p X Y i j k hij ≫ f = ιMapBifunctorMapObj F p X Y i j k hij ≫ g) :
    f = g 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{u_9, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} C₃] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)) {I : Type u_4} {J : Type u_5} {K : Type u_6} (p : I × J → K) {X : CategoryTheory.GradedObject I C₁} {Y : CategoryTheory.GradedObject J C₂} {A : C₃} {k : K} [(((CategoryTheory.GradedObject.mapBifunctor F I J).obj X).obj Y).HasMap p] {f g : CategoryTheory.GradedObject.mapBifunctorMapObj F p X Y k ⟶ A} (h :
  ∀ (i : I) (j : J) (hij : p (i, j) = k),
    CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.ιMapBifunctorMapObj F p X Y i j k hij) f =
      CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.ιMapBifunctorMapObj F p X Y i j k hij) g)
Goal: f = g