ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CorePresheafOfModules.map_comp
structure CorePresheafOfModules where
    obj (X : Cᵒᵖ) : Type v
    addCommGroup (X : Cᵒᵖ) : AddCommGroup (obj X) := by infer_instance
    module (X : Cᵒᵖ) : Module (R.obj X) (obj X) := by infer_instance
    map {X Y : Cᵒᵖ} (f : X ⟶ Y) : obj X →ₛₗ[R.map f] obj Y
    map_id (X : Cᵒᵖ) (x : obj X) : map (𝟙 X) x = x := by aesop_cat
    map_comp {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) (x : obj X) :
    map (f ≫ g) x = map g (map f x) := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (self : CorePresheafOfModules R) {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) (x : self.obj X)
Goal: (self.map (f ≫ g)) x = (self.map g) ((self.map f) x)
-- CorePresheafOfModules.map_id
structure CorePresheafOfModules where
    obj (X : Cᵒᵖ) : Type v
    addCommGroup (X : Cᵒᵖ) : AddCommGroup (obj X) := by infer_instance
    module (X : Cᵒᵖ) : Module (R.obj X) (obj X) := by infer_instance
    map {X Y : Cᵒᵖ} (f : X ⟶ Y) : obj X →ₛₗ[R.map f] obj Y
    map_id (X : Cᵒᵖ) (x : obj X) : map (𝟙 X) x = x := by aesop_cat
    map_comp {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) (x : obj X) :
    map (f ≫ g) x = map g (map f x) := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (self : CorePresheafOfModules R) (X : Cᵒᵖ) (x : self.obj X)
Goal: (self.map (𝟙 X)) x = x
-- CorePresheafOfModules.presheaf_obj
@[simps]
def presheaf : Cᵒᵖ ⥤ AddCommGrp.{v} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : CorePresheafOfModules R) (X : Cᵒᵖ)
Goal: M.presheaf.obj X = AddCommGrp.of (M.obj X)
-- CorePresheafOfModules.presheaf_map
@[simps]
def presheaf : Cᵒᵖ ⥤ AddCommGrp.{v} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : CorePresheafOfModules R)
Goal: ∀ {X Y : Cᵒᵖ} (f : X ⟶ Y), M.presheaf.map f = AddCommGrp.ofHom (M.map f).toAddMonoidHom
-- CorePresheafOfModules.toPresheafOfModules_obj
@[simp]
lemma toPresheafOfModules_obj (X : Cᵒᵖ) :
    M.toPresheafOfModules.obj X = ModuleCat.of _ (M.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : CorePresheafOfModules R) (X : Cᵒᵖ)
Goal: M.toPresheafOfModules.obj X = ModuleCat.of (↑(R.obj X)) (M.obj X)
-- CorePresheafOfModules.toPresheafOfModules_presheaf_map_apply
@[simp]
lemma toPresheafOfModules_presheaf_map_apply {X Y : Cᵒᵖ} (f : X ⟶ Y) (x : M.obj X) :
    M.toPresheafOfModules.presheaf.map f x = M.map f x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : CorePresheafOfModules R) {X Y : Cᵒᵖ} (f : X ⟶ Y) (x : M.obj X)
Goal: (M.toPresheafOfModules.presheaf.map f) x = (M.map f) x
-- BundledCorePresheafOfModules.map_id
structure BundledCorePresheafOfModules where
    obj (X : Cᵒᵖ) : ModuleCat.{v} (R.obj X)
    map {X Y : Cᵒᵖ} (f : X ⟶ Y) : obj X ⟶ (ModuleCat.restrictScalars (R.map f)).obj (obj Y)
    map_id (X : Cᵒᵖ) :
    map (𝟙 X) = (ModuleCat.restrictScalarsId' (R.map (𝟙 X)) (R.map_id X)).inv.app (obj X) := by
      aesop
    map_comp {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) :
    map (f ≫ g) = map f ≫ (ModuleCat.restrictScalars (R.map f)).map (map g) ≫
      (ModuleCat.restrictScalarsComp' (R.map f) (R.map g) (R.map (f ≫ g))
        (R.map_comp f g)).inv.app (obj Z) := by aesop
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (self : BundledCorePresheafOfModules R) (X : Cᵒᵖ)
Goal: self.map (𝟙 X) = (ModuleCat.restrictScalarsId' (R.map (𝟙 X)) ⋯).inv.app (self.obj X)
-- BundledCorePresheafOfModules.map_comp
structure BundledCorePresheafOfModules where
    obj (X : Cᵒᵖ) : ModuleCat.{v} (R.obj X)
    map {X Y : Cᵒᵖ} (f : X ⟶ Y) : obj X ⟶ (ModuleCat.restrictScalars (R.map f)).obj (obj Y)
    map_id (X : Cᵒᵖ) :
    map (𝟙 X) = (ModuleCat.restrictScalarsId' (R.map (𝟙 X)) (R.map_id X)).inv.app (obj X) := by
      aesop
    map_comp {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) :
    map (f ≫ g) = map f ≫ (ModuleCat.restrictScalars (R.map f)).map (map g) ≫
      (ModuleCat.restrictScalarsComp' (R.map f) (R.map g) (R.map (f ≫ g))
        (R.map_comp f g)).inv.app (obj Z) := by aesop
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (self : BundledCorePresheafOfModules R) {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: self.map (f ≫ g) =
  self.map f ≫
    (ModuleCat.restrictScalars (R.map f)).map (self.map g) ≫
      (ModuleCat.restrictScalarsComp' (R.map f) (R.map g) (R.map (f ≫ g)) ⋯).inv.app (self.obj Z)
-- BundledCorePresheafOfModules.toPresheafOfModules_obj
@[simp]
lemma toPresheafOfModules_obj (X : Cᵒᵖ) :
    M.toPresheafOfModules.obj X = (M.obj X).carrier 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : BundledCorePresheafOfModules R) (X : Cᵒᵖ)
Goal: ↑(M.toPresheafOfModules.obj X) = ↑(M.obj X)
-- BundledCorePresheafOfModules.toPresheafOfModules_presheaf_map_apply
@[simp]
lemma toPresheafOfModules_presheaf_map_apply {X Y : Cᵒᵖ} (f : X ⟶ Y) (x : M.obj X) :
    M.toPresheafOfModules.presheaf.map f x = M.map f x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : BundledCorePresheafOfModules R) {X Y : Cᵒᵖ} (f : X ⟶ Y) (x : ↑(M.obj X))
Goal: (M.toPresheafOfModules.presheaf.map f) x = (M.map f) x
-- BundledCorePresheafOfModules.restrictionApp_toPresheafOfModules
@[simp]
lemma restrictionApp_toPresheafOfModules {X Y : Cᵒᵖ} (f : X ⟶ Y) :
    PresheafOfModules.restrictionApp f M.toPresheafOfModules = M.map f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : BundledCorePresheafOfModules R) {X Y : Cᵒᵖ} (f : X ⟶ Y)
Goal: PresheafOfModules.restrictionApp f M.toPresheafOfModules = M.map f
-- PresheafOfModules.unit_map_one
lemma unit_map_one {X Y : Cᵒᵖ} (f : X ⟶ Y) : (unit R).map f (1 : R.obj X) = (1 : R.obj Y) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : Cᵒᵖ ⥤ RingCat) {X Y : Cᵒᵖ} (f : X ⟶ Y)
Goal: ((PresheafOfModules.unit R).map f) 1 = 1
-- PresheafOfModules.sections_property
@[simp]
lemma sections_property {M : PresheafOfModules.{v} R} (s : M.sections)
    {X Y : Cᵒᵖ} (f : X ⟶ Y) : M.map f (s.1 X) = s.1 Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M : PresheafOfModules R} (s : M.sections) {X Y : Cᵒᵖ} (f : X ⟶ Y)
Goal: (M.map f) (↑s X) = ↑s Y
-- PresheafOfModules.sectionsMk_coe
@[simps]
def sectionsMk {M : PresheafOfModules.{v} R} (s : ∀ X, M.obj X)
    (hs : ∀ ⦃X Y : Cᵒᵖ⦄ (f : X ⟶ Y), M.map f (s X) = s Y) : M.sections 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M : PresheafOfModules R} (s : (X : Cᵒᵖ) → ↑(M.obj X)) (hs : ∀ ⦃X Y : Cᵒᵖ⦄ (f : X ⟶ Y), (M.map f) (s X) = s Y) (X : Cᵒᵖ)
Goal: ↑(PresheafOfModules.sectionsMk s hs) X = s X
-- PresheafOfModules.sections_ext
@[ext]
lemma sections_ext {M : PresheafOfModules.{v} R} (s t : M.sections)
    (h : ∀ (X : Cᵒᵖ), s.val X = t.val X) : s = t 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M : PresheafOfModules R} (s t : M.sections) (h : ∀ (X : Cᵒᵖ), ↑s X = ↑t X)
Goal: s = t
-- PresheafOfModules.sectionsMap_coe
@[simps!]
def sectionsMap {M N : PresheafOfModules.{v} R} (f : M ⟶ N) (s : M.sections) : N.sections 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M N : PresheafOfModules R} (f : M ⟶ N) (s : M.sections) (X : Cᵒᵖ)
Goal: ↑(PresheafOfModules.sectionsMap f s) X = (PresheafOfModules.Hom.app f X) (↑s X)
-- PresheafOfModules.sectionsMap_comp
@[simp]
lemma sectionsMap_comp {M N P : PresheafOfModules.{v} R} (f : M ⟶ N) (g : N ⟶ P) (s : M.sections) :
    sectionsMap (f ≫ g) s = sectionsMap g (sectionsMap f s) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M N P : PresheafOfModules R} (f : M ⟶ N) (g : N ⟶ P) (s : M.sections)
Goal: PresheafOfModules.sectionsMap (f ≫ g) s = PresheafOfModules.sectionsMap g (PresheafOfModules.sectionsMap f s)
-- PresheafOfModules.sectionsMap_id
@[simp]
lemma sectionsMap_id {M : PresheafOfModules.{v} R} (s : M.sections) :
    sectionsMap (𝟙 M) s = s 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} {M : PresheafOfModules R} (s : M.sections)
Goal: PresheafOfModules.sectionsMap (𝟙 M) s = s
-- PresheafOfModules.unitHomEquiv_apply_coe
@[simps! apply_coe]
def unitHomEquiv (M : PresheafOfModules R) :
    (unit R ⟶ M) ≃ M.sections 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (M : PresheafOfModules R) (f : PresheafOfModules.unit R ⟶ M) (X : Cᵒᵖ)
Goal: ↑(M.unitHomEquiv f) X = (PresheafOfModules.Hom.app f X) 1
-- PresheafOfModules.forgetToPresheafModuleCatObj_map_apply
@[simps]
noncomputable def forgetToPresheafModuleCatObj
    (X : Cᵒᵖ) (hX : Limits.IsInitial X) (M : PresheafOfModules.{v} R) :
    Cᵒᵖ ⥤ ModuleCat (R.1.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X) (M : PresheafOfModules R) {c₁ c₂ : Cᵒᵖ} (f : c₁ ⟶ c₂) (x : ↑((fun c => (ModuleCat.restrictScalars (R.map (hX.to c))).obj (M.obj c)) c₁))
Goal: ((PresheafOfModules.forgetToPresheafModuleCatObj X hX M).map f) x = (M.presheaf.map f) x
-- PresheafOfModules.forgetToPresheafModuleCatObj_obj
@[simps]
noncomputable def forgetToPresheafModuleCatObj
    (X : Cᵒᵖ) (hX : Limits.IsInitial X) (M : PresheafOfModules.{v} R) :
    Cᵒᵖ ⥤ ModuleCat (R.1.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X) (M : PresheafOfModules R) (c : Cᵒᵖ)
Goal: (PresheafOfModules.forgetToPresheafModuleCatObj X hX M).obj c =
  (ModuleCat.restrictScalars (R.map (hX.to c))).obj (M.obj c)
-- PresheafOfModules.forgetToPresheafModuleCat_obj
@[simps]
noncomputable def forgetToPresheafModuleCat (X : Cᵒᵖ) (hX : Limits.IsInitial X) :
    PresheafOfModules.{v} R ⥤ Cᵒᵖ ⥤ ModuleCat (R.1.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X) (M : PresheafOfModules R)
Goal: (PresheafOfModules.forgetToPresheafModuleCat X hX).obj M = PresheafOfModules.forgetToPresheafModuleCatObj X hX M
-- PresheafOfModules.forgetToPresheafModuleCat_map
@[simps]
noncomputable def forgetToPresheafModuleCat (X : Cᵒᵖ) (hX : Limits.IsInitial X) :
    PresheafOfModules.{v} R ⥤ Cᵒᵖ ⥤ ModuleCat (R.1.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : Cᵒᵖ ⥤ RingCat} (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X)
Goal: ∀ {X_1 Y : PresheafOfModules R} (f : X_1 ⟶ Y),
  (PresheafOfModules.forgetToPresheafModuleCat X hX).map f = PresheafOfModules.forgetToPresheafModuleCatMap X hX f
-- AlgebraCat.forget₂_module_obj
@[simp]
lemma forget₂_module_obj (X : AlgebraCat.{v} R) :
    (forget₂ (AlgebraCat.{v} R) (ModuleCat.{v} R)).obj X = ModuleCat.of R X 
Arguments: (R : Type u) [CommRing R] (X : AlgebraCat R)
Goal: (CategoryTheory.forget₂ (AlgebraCat R) (ModuleCat R)).obj X = ModuleCat.of R ↑X
-- AlgebraCat.forget₂_module_map
@[simp]
lemma forget₂_module_map {X Y : AlgebraCat.{v} R} (f : X ⟶ Y) :
    (forget₂ (AlgebraCat.{v} R) (ModuleCat.{v} R)).map f = ModuleCat.ofHom f.toLinearMap 
Arguments: (R : Type u) [CommRing R] {X Y : AlgebraCat R} (f : X ⟶ Y)
Goal: (CategoryTheory.forget₂ (AlgebraCat R) (ModuleCat R)).map f = ModuleCat.ofHom (AlgHom.toLinearMap f)
-- AlgebraCat.ofHom_apply
@[simp]
theorem ofHom_apply {R : Type u} [CommRing R] {X Y : Type v} [Ring X] [Algebra R X] [Ring Y]
    [Algebra R Y] (f : X →ₐ[R] Y) (x : X) : ofHom f x = f x 
Arguments: {R : Type u} [CommRing R] {X Y : Type v} [Ring X] [Algebra R X] [Ring Y] [Algebra R Y] (f : X →ₐ[R] Y) (x : X)
Goal: (AlgebraCat.ofHom f) x = f x
-- AlgebraCat.coe_of
@[simp]
theorem coe_of (X : Type u) [Ring X] [Algebra R X] : (of R X : Type u) = X 
Arguments: (R : Type u) [CommRing R] (X : Type u) [Ring X] [Algebra R X]
Goal: ↑(AlgebraCat.of R X) = X
-- AlgebraCat.ofSelfIso_inv
@[simps]
def ofSelfIso (M : AlgebraCat.{v} R) : AlgebraCat.of R M ≅ M 
Arguments: {R : Type u} [CommRing R] (M : AlgebraCat R)
Goal: M.ofSelfIso.inv = 𝟙 M
-- AlgebraCat.ofSelfIso_hom
@[simps]
def ofSelfIso (M : AlgebraCat.{v} R) : AlgebraCat.of R M ≅ M 
Arguments: {R : Type u} [CommRing R] (M : AlgebraCat R)
Goal: M.ofSelfIso.hom = 𝟙 M
-- AlgebraCat.id_apply
@[simp]
theorem id_apply (m : M) : (𝟙 M : M → M) m = m 
Arguments: {R : Type u} [CommRing R] {M : ModuleCat R} (m : ↑M)
Goal: (𝟙 M) m = m
-- AlgebraCat.coe_comp
@[simp]
theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f 
Arguments: {R : Type u} [CommRing R] {M N U : ModuleCat R} (f : M ⟶ N) (g : N ⟶ U)
Goal: ⇑(f ≫ g) = ⇑g ∘ ⇑f
-- AlgebraCat.free_map
@[simps!]
def free : Type u ⥤ AlgebraCat.{u} R 
Arguments: (R : Type u) [CommRing R]
Goal: ∀ {X Y : Type u} (f : X ⟶ Y), (AlgebraCat.free R).map f = (FreeAlgebra.lift R) (FreeAlgebra.ι R ∘ f)
-- AlgebraCat.free_obj_carrier
@[simps!]
def free : Type u ⥤ AlgebraCat.{u} R 
Arguments: (R : Type u) [CommRing R] (S : Type u)
Goal: ↑((AlgebraCat.free R).obj S) = FreeAlgebra R S
-- AlgEquiv.toAlgebraIso_hom
@[simps]
def AlgEquiv.toAlgebraIso {g₁ : Ring X₁} {g₂ : Ring X₂} {m₁ : Algebra R X₁} {m₂ : Algebra R X₂}
    (e : X₁ ≃ₐ[R] X₂) : AlgebraCat.of R X₁ ≅ AlgebraCat.of R X₂ 
Arguments: {R : Type u} [CommRing R] {X₁ X₂ : Type u} {g₁ : Ring X₁} {g₂ : Ring X₂} {m₁ : Algebra R X₁} {m₂ : Algebra R X₂} (e : X₁ ≃ₐ[R] X₂)
Goal: e.toAlgebraIso.hom = ↑e
-- AlgEquiv.toAlgebraIso_inv
@[simps]
def AlgEquiv.toAlgebraIso {g₁ : Ring X₁} {g₂ : Ring X₂} {m₁ : Algebra R X₁} {m₂ : Algebra R X₂}
    (e : X₁ ≃ₐ[R] X₂) : AlgebraCat.of R X₁ ≅ AlgebraCat.of R X₂ 
Arguments: {R : Type u} [CommRing R] {X₁ X₂ : Type u} {g₁ : Ring X₁} {g₂ : Ring X₂} {m₁ : Algebra R X₁} {m₂ : Algebra R X₂} (e : X₁ ≃ₐ[R] X₂)
Goal: e.toAlgebraIso.inv = ↑e.symm
-- CategoryTheory.Iso.toAlgEquiv_apply
@[simps]
def toAlgEquiv {X Y : AlgebraCat R} (i : X ≅ Y) : X ≃ₐ[R] Y 
Arguments: {R : Type u} [CommRing R] {X Y : AlgebraCat R} (i : X ≅ Y) (a : ↑X)
Goal: i.toAlgEquiv a = i.hom a
-- CategoryTheory.Iso.toAlgEquiv_symm_apply
@[simps]
def toAlgEquiv {X Y : AlgebraCat R} (i : X ≅ Y) : X ≃ₐ[R] Y 
Arguments: {R : Type u} [CommRing R] {X Y : AlgebraCat R} (i : X ≅ Y) (a : ↑Y)
Goal: i.toAlgEquiv.symm a = i.inv a
-- algEquivIsoAlgebraIso_inv
@[simps]
def algEquivIsoAlgebraIso {X Y : Type u} [Ring X] [Ring Y] [Algebra R X] [Algebra R Y] :
    (X ≃ₐ[R] Y) ≅ AlgebraCat.of R X ≅ AlgebraCat.of R Y 
Arguments: {R : Type u} [CommRing R] {X Y : Type u} [Ring X] [Ring Y] [Algebra R X] [Algebra R Y] (i : AlgebraCat.of R X ≅ AlgebraCat.of R Y)
Goal: algEquivIsoAlgebraIso.inv i = i.toAlgEquiv
-- algEquivIsoAlgebraIso_hom
@[simps]
def algEquivIsoAlgebraIso {X Y : Type u} [Ring X] [Ring Y] [Algebra R X] [Algebra R Y] :
    (X ≃ₐ[R] Y) ≅ AlgebraCat.of R X ≅ AlgebraCat.of R Y 
Arguments: {R : Type u} [CommRing R] {X Y : Type u} [Ring X] [Ring Y] [Algebra R X] [Algebra R Y] (e : X ≃ₐ[R] Y)
Goal: algEquivIsoAlgebraIso.hom e = e.toAlgebraIso
-- AlgHom.comp_id_algebraCat
@[simp] theorem AlgHom.comp_id_algebraCat
    {R} [CommRing R] {G : AlgebraCat.{u} R} {H : Type u} [Ring H] [Algebra R H] (f : G →ₐ[R] H) :
    f.comp (𝟙 G) = f 
Arguments: {R : Type u_1} [CommRing R] {G : AlgebraCat R} {H : Type u} [Ring H] [Algebra R H] (f : ↑G →ₐ[R] H)
Goal: f.comp (𝟙 G) = f
-- AlgHom.id_algebraCat_comp
@[simp] theorem AlgHom.id_algebraCat_comp
    {R} [CommRing R] {G : Type u} [Ring G] [Algebra R G] {H : AlgebraCat.{u} R} (f : G →ₐ[R] H) :
    AlgHom.comp (𝟙 H) f = f 
Arguments: {R : Type u_1} [CommRing R] {G : Type u} [Ring G] [Algebra R G] {H : AlgebraCat R} (f : G →ₐ[R] ↑H)
Goal: AlgHom.comp (𝟙 H) f = f
-- HomotopyCategory.mem_subcategoryAcyclic_iff
lemma mem_subcategoryAcyclic_iff (X : HomotopyCategory C (ComplexShape.up ℤ)) :
    (subcategoryAcyclic C).P X ↔ ∀ (n : ℤ), IsZero ((homologyFunctor _ _ n).obj X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (X : HomotopyCategory C (ComplexShape.up ℤ))
Goal: (HomotopyCategory.subcategoryAcyclic C).P X ↔
  ∀ (n : ℤ), CategoryTheory.Limits.IsZero ((HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) n).obj X)
-- HomotopyCategory.quotient_obj_mem_subcategoryAcyclic_iff_exactAt
lemma quotient_obj_mem_subcategoryAcyclic_iff_exactAt (K : CochainComplex C ℤ) :
    (subcategoryAcyclic C).P ((quotient _ _).obj K) ↔ ∀ (n : ℤ), K.ExactAt n 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ)
Goal: (HomotopyCategory.subcategoryAcyclic C).P ((HomotopyCategory.quotient C (ComplexShape.up ℤ)).obj K) ↔
  ∀ (n : ℤ), HomologicalComplex.ExactAt K n
-- HomotopyCategory.quasiIso_eq_subcategoryAcyclic_W
lemma quasiIso_eq_subcategoryAcyclic_W :
    quasiIso C (ComplexShape.up ℤ) = (subcategoryAcyclic C).W 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C]
Goal: HomotopyCategory.quasiIso C (ComplexShape.up ℤ) = (HomotopyCategory.subcategoryAcyclic C).W
-- DerivedCategory.mem_distTriang_iff
lemma mem_distTriang_iff (T : Triangle (DerivedCategory C)) :
    (T ∈ distTriang (DerivedCategory C)) ↔ ∃ (X Y : CochainComplex C ℤ) (f : X ⟶ Y),
      Nonempty (T ≅ Q.mapTriangle.obj (CochainComplex.mappingCone.triangle f)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C))
Goal: T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles ↔
  ∃ X Y f, Nonempty (T ≅ DerivedCategory.Q.mapTriangle.obj (CochainComplex.mappingCone.triangle f))
-- DerivedCategory.triangleOfSES_obj₃
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).obj₃ = DerivedCategory.Q.obj S.X₃
-- DerivedCategory.triangleOfSES_mor₃
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).mor₃ = DerivedCategory.triangleOfSESδ hS
-- DerivedCategory.triangleOfSES_mor₂
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).mor₂ = DerivedCategory.Q.map S.g
-- DerivedCategory.triangleOfSES_obj₁
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).obj₁ = DerivedCategory.Q.obj S.X₁
-- DerivedCategory.triangleOfSES_mor₁
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).mor₁ = DerivedCategory.Q.map S.f
-- DerivedCategory.triangleOfSES_obj₂
@[simps!]
noncomputable def triangleOfSES : Triangle (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: (DerivedCategory.triangleOfSES hS).obj₂ = DerivedCategory.Q.obj S.X₂
-- DerivedCategory.triangleOfSES_distinguished
lemma triangleOfSES_distinguished :
    triangleOfSES hS ∈ distTriang (DerivedCategory C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: DerivedCategory.triangleOfSES hS ∈ CategoryTheory.Pretriangulated.distinguishedTriangles
-- CategoryTheory.Functor.mapDerivedCategoryFactorsh_hom_app
lemma mapDerivedCategoryFactorsh_hom_app (K : CochainComplex C₁ ℤ) :
    F.mapDerivedCategoryFactorsh.hom.app ((HomotopyCategory.quotient _ _).obj K) =
      F.mapDerivedCategory.map ((DerivedCategory.quotientCompQhIso C₁).hom.app K) ≫
        F.mapDerivedCategoryFactors.hom.app K ≫
        (DerivedCategory.quotientCompQhIso C₂).inv.app _ ≫
        DerivedCategory.Qh.map ((F.mapHomotopyCategoryFactors (ComplexShape.up ℤ)).inv.app K) 
Arguments: {C₁ : Type u₁} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Abelian C₁] [HasDerivedCategory C₁] {C₂ : Type u₂} [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Abelian C₂] [HasDerivedCategory C₂] (F : C₁ ⥤ C₂) [F.Additive] [CategoryTheory.Limits.PreservesFiniteLimits F] [CategoryTheory.Limits.PreservesFiniteColimits F] (K : CochainComplex C₁ ℤ)
Goal: F.mapDerivedCategoryFactorsh.hom.app ((HomotopyCategory.quotient C₁ (ComplexShape.up ℤ)).obj K) =
  F.mapDerivedCategory.map ((DerivedCategory.quotientCompQhIso C₁).hom.app K) ≫
    F.mapDerivedCategoryFactors.hom.app K ≫
      (DerivedCategory.quotientCompQhIso C₂).inv.app ((F.mapHomologicalComplex (ComplexShape.up ℤ)).obj K) ≫
        DerivedCategory.Qh.map ((F.mapHomotopyCategoryFactors (ComplexShape.up ℤ)).inv.app K)
-- DerivedCategory.HomologySequence.comp_δ
@[reassoc (attr := simp)]
lemma comp_δ : (homologyFunctor C n₀).map T.mor₂ ≫ δ T n₀ n₁ h = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C)) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: (DerivedCategory.homologyFunctor C n₀).map T.mor₂ ≫ DerivedCategory.HomologySequence.δ T n₀ n₁ h = 0
-- DerivedCategory.HomologySequence.δ_comp
@[reassoc (attr := simp)]
lemma δ_comp : δ T n₀ n₁ h ≫ (homologyFunctor C n₁).map T.mor₁ = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C)) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: DerivedCategory.HomologySequence.δ T n₀ n₁ h ≫ (DerivedCategory.homologyFunctor C n₁).map T.mor₁ = 0
-- DerivedCategory.HomologySequence.exact₂
lemma exact₂ :
    (ShortComplex.mk ((homologyFunctor C n₀).map T.mor₁) ((homologyFunctor C n₀).map T.mor₂)
      (by simp only [← Functor.map_comp, comp_distTriang_mor_zero₁₂ _ hT,
        Functor.map_zero])).Exact 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C)) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ : ℤ)
Goal: (CategoryTheory.ShortComplex.mk ((DerivedCategory.homologyFunctor C n₀).map T.mor₁)
    ((DerivedCategory.homologyFunctor C n₀).map T.mor₂) ⋯).Exact
-- DerivedCategory.HomologySequence.exact₃
lemma exact₃ : (ShortComplex.mk _ _ (comp_δ T hT n₀ n₁ h)).Exact 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C)) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: (CategoryTheory.ShortComplex.mk ((DerivedCategory.homologyFunctor C n₀).map T.mor₂)
    (DerivedCategory.HomologySequence.δ T n₀ n₁ h) ⋯).Exact
-- DerivedCategory.HomologySequence.exact₁
lemma exact₁ : (ShortComplex.mk _ _ (δ_comp T hT n₀ n₁ h)).Exact 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (DerivedCategory C)) (hT : T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: (CategoryTheory.ShortComplex.mk (DerivedCategory.HomologySequence.δ T n₀ n₁ h)
    ((DerivedCategory.homologyFunctor C n₁).map T.mor₁) ⋯).Exact