ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Endofunctor.Algebra.comp_f
@[simp]
theorem comp_f : (f ≫ g).1 = f.1 ≫ g.1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A₀ A₁ A₂ : CategoryTheory.Endofunctor.Algebra F} (f : A₀ ⟶ A₁) (g : A₁ ⟶ A₂)
Goal: (CategoryTheory.CategoryStruct.comp f g).f = CategoryTheory.CategoryStruct.comp f.f g.f
-- CategoryTheory.Endofunctor.Algebra.isoMk_inv_f
@[simps!]
def isoMk (h : A₀.1 ≅ A₁.1) (w : F.map h.hom ≫ A₁.str = A₀.str ≫ h.hom := by aesop_cat) :
    A₀ ≅ A₁ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A₀ A₁ : CategoryTheory.Endofunctor.Algebra F} (h : A₀.a ≅ A₁.a) (w : CategoryTheory.CategoryStruct.comp (F.map h.hom) A₁.str = CategoryTheory.CategoryStruct.comp A₀.str h.hom := by
  aesop_cat)
Goal: (CategoryTheory.Endofunctor.Algebra.isoMk h w).inv.f = h.inv
-- CategoryTheory.Endofunctor.Algebra.isoMk_hom_f
@[simps!]
def isoMk (h : A₀.1 ≅ A₁.1) (w : F.map h.hom ≫ A₁.str = A₀.str ≫ h.hom := by aesop_cat) :
    A₀ ≅ A₁ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A₀ A₁ : CategoryTheory.Endofunctor.Algebra F} (h : A₀.a ≅ A₁.a) (w : CategoryTheory.CategoryStruct.comp (F.map h.hom) A₁.str = CategoryTheory.CategoryStruct.comp A₀.str h.hom := by
  aesop_cat)
Goal: (CategoryTheory.Endofunctor.Algebra.isoMk h w).hom.f = h.hom
-- CategoryTheory.Endofunctor.Algebra.forget_map
@[simps]
def forget (F : C ⥤ C) : Algebra F ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C C)
Goal: ∀ {X Y : CategoryTheory.Endofunctor.Algebra F} (self : X.Hom Y),
  (CategoryTheory.Endofunctor.Algebra.forget F).map self = self.f
-- CategoryTheory.Endofunctor.Algebra.forget_obj
@[simps]
def forget (F : C ⥤ C) : Algebra F ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C C) (A : CategoryTheory.Endofunctor.Algebra F)
Goal: (CategoryTheory.Endofunctor.Algebra.forget F).obj A = A.a
-- CategoryTheory.Endofunctor.Algebra.iso_of_iso
theorem iso_of_iso (f : A₀ ⟶ A₁) [IsIso f.1] : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A₀ A₁ : CategoryTheory.Endofunctor.Algebra F} (f : A₀ ⟶ A₁) [CategoryTheory.IsIso f.f]
Goal: CategoryTheory.IsIso f
-- CategoryTheory.Endofunctor.Algebra.epi_of_epi
theorem epi_of_epi {X Y : Algebra F} (f : X ⟶ Y) [h : Epi f.1] : Epi f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {X Y : CategoryTheory.Endofunctor.Algebra F} (f : X ⟶ Y) [h : CategoryTheory.Epi f.f]
Goal: CategoryTheory.Epi f
-- CategoryTheory.Endofunctor.Algebra.mono_of_mono
theorem mono_of_mono {X Y : Algebra F} (f : X ⟶ Y) [h : Mono f.1] : Mono f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {X Y : CategoryTheory.Endofunctor.Algebra F} (f : X ⟶ Y) [h : CategoryTheory.Mono f.f]
Goal: CategoryTheory.Mono f
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTrans_obj_a
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : G ⟶ F) : Algebra F ⥤ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : G ⟶ F) (A : CategoryTheory.Endofunctor.Algebra F)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTrans α).obj A).a = A.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTrans_obj_str
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : G ⟶ F) : Algebra F ⥤ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : G ⟶ F) (A : CategoryTheory.Endofunctor.Algebra F)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTrans α).obj A).str =
  CategoryTheory.CategoryStruct.comp (α.app A.a) A.str
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTrans_map_f
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : G ⟶ F) : Algebra F ⥤ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : G ⟶ F)
Goal: ∀ {X Y : CategoryTheory.Endofunctor.Algebra F} (f : X ⟶ Y),
  ((CategoryTheory.Endofunctor.Algebra.functorOfNatTrans α).map f).f = f.f
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransId_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransId : functorOfNatTrans (𝟙 F) ≅ 𝟭 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (X : CategoryTheory.Endofunctor.Algebra F)
Goal: (CategoryTheory.Endofunctor.Algebra.functorOfNatTransId.hom.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransId_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransId : functorOfNatTrans (𝟙 F) ≅ 𝟭 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (X : CategoryTheory.Endofunctor.Algebra F)
Goal: (CategoryTheory.Endofunctor.Algebra.functorOfNatTransId.inv.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransComp {F₀ F₁ F₂ : C ⥤ C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) :
    functorOfNatTrans (α ≫ β) ≅ functorOfNatTrans β ⋙ functorOfNatTrans α 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F₀ F₁ F₂ : CategoryTheory.Functor C C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) (X : CategoryTheory.Endofunctor.Algebra F₂)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp α β).hom.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransComp {F₀ F₁ F₂ : C ⥤ C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) :
    functorOfNatTrans (α ≫ β) ≅ functorOfNatTrans β ⋙ functorOfNatTrans α 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F₀ F₁ F₂ : CategoryTheory.Functor C C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) (X : CategoryTheory.Endofunctor.Algebra F₂)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp α β).inv.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransEq {F G : C ⥤ C} {α β : F ⟶ G} (h : α = β) :
    functorOfNatTrans α ≅ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} {α β : F ⟶ G} (h : α = β) (X : CategoryTheory.Endofunctor.Algebra G)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq h).hom.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransEq {F G : C ⥤ C} {α β : F ⟶ G} (h : α = β) :
    functorOfNatTrans α ≅ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} {α β : F ⟶ G} (h : α = β) (X : CategoryTheory.Endofunctor.Algebra G)
Goal: ((CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq h).inv.app X).f = CategoryTheory.CategoryStruct.id X.a
-- CategoryTheory.Endofunctor.Algebra.equivOfNatIso_functor
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Algebra F ≌ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Algebra.equivOfNatIso α).functor =
  CategoryTheory.Endofunctor.Algebra.functorOfNatTrans α.inv
-- CategoryTheory.Endofunctor.Algebra.equivOfNatIso_counitIso
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Algebra F ≌ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Algebra.equivOfNatIso α).counitIso =
  (CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp α.inv α.hom).symm ≪≫
    CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq ⋯ ≪≫ CategoryTheory.Endofunctor.Algebra.functorOfNatTransId
-- CategoryTheory.Endofunctor.Algebra.equivOfNatIso_unitIso
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Algebra F ≌ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Algebra.equivOfNatIso α).unitIso =
  CategoryTheory.Endofunctor.Algebra.functorOfNatTransId.symm ≪≫
    CategoryTheory.Endofunctor.Algebra.functorOfNatTransEq ⋯ ≪≫
      CategoryTheory.Endofunctor.Algebra.functorOfNatTransComp α.hom α.inv
-- CategoryTheory.Endofunctor.Algebra.equivOfNatIso_inverse
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Algebra F ≌ Algebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Algebra.equivOfNatIso α).inverse =
  CategoryTheory.Endofunctor.Algebra.functorOfNatTrans α.hom
-- CategoryTheory.Endofunctor.Algebra.Initial.left_inv'
theorem left_inv' :
    ⟨strInv h ≫ A.str, by rw [← Category.assoc, F.map_comp, strInv, ← Hom.h]⟩ = 𝟙 A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A : CategoryTheory.Endofunctor.Algebra F} (h : CategoryTheory.Limits.IsInitial A)
Goal: { f := CategoryTheory.CategoryStruct.comp (CategoryTheory.Endofunctor.Algebra.Initial.strInv h) A.str, h := ⋯ } =
  CategoryTheory.CategoryStruct.id A
-- CategoryTheory.Endofunctor.Algebra.Initial.left_inv
theorem left_inv : strInv h ≫ A.str = 𝟙 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A : CategoryTheory.Endofunctor.Algebra F} (h : CategoryTheory.Limits.IsInitial A)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Endofunctor.Algebra.Initial.strInv h) A.str =
  CategoryTheory.CategoryStruct.id A.a
-- CategoryTheory.Endofunctor.Algebra.Initial.right_inv
theorem right_inv : A.str ≫ strInv h = 𝟙 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A : CategoryTheory.Endofunctor.Algebra F} (h : CategoryTheory.Limits.IsInitial A)
Goal: CategoryTheory.CategoryStruct.comp A.str (CategoryTheory.Endofunctor.Algebra.Initial.strInv h) =
  CategoryTheory.CategoryStruct.id (F.obj A.a)
-- CategoryTheory.Endofunctor.Algebra.Initial.str_isIso
theorem str_isIso (h : Limits.IsInitial A) : IsIso A.str 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A : CategoryTheory.Endofunctor.Algebra F} (h : CategoryTheory.Limits.IsInitial A)
Goal: CategoryTheory.IsIso A.str
-- CategoryTheory.Endofunctor.Coalgebra.Hom.h
@[ext]
structure Hom (V₀ V₁ : Coalgebra F) where
    f : V₀.1 ⟶ V₁.1
    h : V₀.str ≫ F.map f = f ≫ V₁.str := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ : CategoryTheory.Endofunctor.Coalgebra F} (self : V₀.Hom V₁)
Goal: CategoryTheory.CategoryStruct.comp V₀.str (F.map self.f) = CategoryTheory.CategoryStruct.comp self.f V₁.str
-- CategoryTheory.Endofunctor.Coalgebra.ext
@[ext]
lemma ext {A B : Coalgebra F} {f g : A ⟶ B} (w : f.f = g.f := by aesop_cat) : f = g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {A B : CategoryTheory.Endofunctor.Coalgebra F} {f g : A ⟶ B} (w : f.f = g.f := by aesop_cat)
Goal: f = g
-- CategoryTheory.Endofunctor.Coalgebra.id_eq_id
@[simp]
theorem id_eq_id : Coalgebra.Hom.id V = 𝟙 V 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (V : CategoryTheory.Endofunctor.Coalgebra F)
Goal: CategoryTheory.Endofunctor.Coalgebra.Hom.id V = CategoryTheory.CategoryStruct.id V
-- CategoryTheory.Endofunctor.Coalgebra.id_f
@[simp]
theorem id_f : (𝟙 _ : V ⟶ V).1 = 𝟙 V.1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (V : CategoryTheory.Endofunctor.Coalgebra F)
Goal: (CategoryTheory.CategoryStruct.id V).f = CategoryTheory.CategoryStruct.id V.V
-- CategoryTheory.Endofunctor.Coalgebra.comp_eq_comp
@[simp]
theorem comp_eq_comp : Coalgebra.Hom.comp f g = f ≫ g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ V₂ : CategoryTheory.Endofunctor.Coalgebra F} (f : V₀ ⟶ V₁) (g : V₁ ⟶ V₂)
Goal: CategoryTheory.Endofunctor.Coalgebra.Hom.comp f g = CategoryTheory.CategoryStruct.comp f g
-- CategoryTheory.Endofunctor.Coalgebra.comp_f
@[simp]
theorem comp_f : (f ≫ g).1 = f.1 ≫ g.1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ V₂ : CategoryTheory.Endofunctor.Coalgebra F} (f : V₀ ⟶ V₁) (g : V₁ ⟶ V₂)
Goal: (CategoryTheory.CategoryStruct.comp f g).f = CategoryTheory.CategoryStruct.comp f.f g.f
-- CategoryTheory.Endofunctor.Coalgebra.isoMk_hom_f
@[simps]
def isoMk (h : V₀.1 ≅ V₁.1) (w : V₀.str ≫ F.map h.hom = h.hom ≫ V₁.str := by aesop_cat) :
    V₀ ≅ V₁ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ : CategoryTheory.Endofunctor.Coalgebra F} (h : V₀.V ≅ V₁.V) (w : CategoryTheory.CategoryStruct.comp V₀.str (F.map h.hom) = CategoryTheory.CategoryStruct.comp h.hom V₁.str := by
  aesop_cat)
Goal: (CategoryTheory.Endofunctor.Coalgebra.isoMk h w).hom.f = h.hom
-- CategoryTheory.Endofunctor.Coalgebra.isoMk_inv_f
@[simps]
def isoMk (h : V₀.1 ≅ V₁.1) (w : V₀.str ≫ F.map h.hom = h.hom ≫ V₁.str := by aesop_cat) :
    V₀ ≅ V₁ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ : CategoryTheory.Endofunctor.Coalgebra F} (h : V₀.V ≅ V₁.V) (w : CategoryTheory.CategoryStruct.comp V₀.str (F.map h.hom) = CategoryTheory.CategoryStruct.comp h.hom V₁.str := by
  aesop_cat)
Goal: (CategoryTheory.Endofunctor.Coalgebra.isoMk h w).inv.f = h.inv
-- CategoryTheory.Endofunctor.Coalgebra.forget_map
@[simps]
def forget (F : C ⥤ C) : Coalgebra F ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C C)
Goal: ∀ {X Y : CategoryTheory.Endofunctor.Coalgebra F} (f : X ⟶ Y),
  (CategoryTheory.Endofunctor.Coalgebra.forget F).map f = f.f
-- CategoryTheory.Endofunctor.Coalgebra.forget_obj
@[simps]
def forget (F : C ⥤ C) : Coalgebra F ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C C) (A : CategoryTheory.Endofunctor.Coalgebra F)
Goal: (CategoryTheory.Endofunctor.Coalgebra.forget F).obj A = A.V
-- CategoryTheory.Endofunctor.Coalgebra.iso_of_iso
theorem iso_of_iso (f : V₀ ⟶ V₁) [IsIso f.1] : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {V₀ V₁ : CategoryTheory.Endofunctor.Coalgebra F} (f : V₀ ⟶ V₁) [CategoryTheory.IsIso f.f]
Goal: CategoryTheory.IsIso f
-- CategoryTheory.Endofunctor.Coalgebra.epi_of_epi
theorem epi_of_epi {X Y : Coalgebra F} (f : X ⟶ Y) [h : Epi f.1] : Epi f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {X Y : CategoryTheory.Endofunctor.Coalgebra F} (f : X ⟶ Y) [h : CategoryTheory.Epi f.f]
Goal: CategoryTheory.Epi f
-- CategoryTheory.Endofunctor.Coalgebra.mono_of_mono
theorem mono_of_mono {X Y : Coalgebra F} (f : X ⟶ Y) [h : Mono f.1] : Mono f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} {X Y : CategoryTheory.Endofunctor.Coalgebra F} (f : X ⟶ Y) [h : CategoryTheory.Mono f.f]
Goal: CategoryTheory.Mono f
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans_obj_V
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : F ⟶ G) : Coalgebra F ⥤ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ⟶ G) (V : CategoryTheory.Endofunctor.Coalgebra F)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans α).obj V).V = V.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans_map_f
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : F ⟶ G) : Coalgebra F ⥤ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ⟶ G)
Goal: ∀ {X Y : CategoryTheory.Endofunctor.Coalgebra F} (f : X ⟶ Y),
  ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans α).map f).f = f.f
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans_obj_str
@[simps]
def functorOfNatTrans {F G : C ⥤ C} (α : F ⟶ G) : Coalgebra F ⥤ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ⟶ G) (V : CategoryTheory.Endofunctor.Coalgebra F)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans α).obj V).str =
  CategoryTheory.CategoryStruct.comp V.str (α.app V.V)
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransId : functorOfNatTrans (𝟙 F) ≅ 𝟭 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (X : CategoryTheory.Endofunctor.Coalgebra F)
Goal: (CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId.inv.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransId : functorOfNatTrans (𝟙 F) ≅ 𝟭 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C C} (X : CategoryTheory.Endofunctor.Coalgebra F)
Goal: (CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId.hom.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransComp {F₀ F₁ F₂ : C ⥤ C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) :
    functorOfNatTrans (α ≫ β) ≅ functorOfNatTrans α ⋙ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F₀ F₁ F₂ : CategoryTheory.Functor C C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) (X : CategoryTheory.Endofunctor.Coalgebra F₀)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp α β).inv.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransComp {F₀ F₁ F₂ : C ⥤ C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) :
    functorOfNatTrans (α ≫ β) ≅ functorOfNatTrans α ⋙ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F₀ F₁ F₂ : CategoryTheory.Functor C C} (α : F₀ ⟶ F₁) (β : F₁ ⟶ F₂) (X : CategoryTheory.Endofunctor.Coalgebra F₀)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp α β).hom.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq_inv_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransEq {F G : C ⥤ C} {α β : F ⟶ G} (h : α = β) :
    functorOfNatTrans α ≅ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} {α β : F ⟶ G} (h : α = β) (X : CategoryTheory.Endofunctor.Coalgebra F)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq h).inv.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq_hom_app_f
-- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
@[simps!]
def functorOfNatTransEq {F G : C ⥤ C} {α β : F ⟶ G} (h : α = β) :
    functorOfNatTrans α ≅ functorOfNatTrans β 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} {α β : F ⟶ G} (h : α = β) (X : CategoryTheory.Endofunctor.Coalgebra F)
Goal: ((CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq h).hom.app X).f = CategoryTheory.CategoryStruct.id X.V
-- CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso_counitIso
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Coalgebra F ≌ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso α).counitIso =
  (CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp α.inv α.hom).symm ≪≫
    CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq ⋯ ≪≫
      CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId
-- CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso_functor
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Coalgebra F ≌ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso α).functor =
  CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans α.hom
-- CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso_inverse
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Coalgebra F ≌ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso α).inverse =
  CategoryTheory.Endofunctor.Coalgebra.functorOfNatTrans α.inv
-- CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso_unitIso
@[simps]
def equivOfNatIso {F G : C ⥤ C} (α : F ≅ G) : Coalgebra F ≌ Coalgebra G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (α : F ≅ G)
Goal: (CategoryTheory.Endofunctor.Coalgebra.equivOfNatIso α).unitIso =
  CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransId.symm ≪≫
    CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransEq ⋯ ≪≫
      CategoryTheory.Endofunctor.Coalgebra.functorOfNatTransComp α.hom α.inv
-- CategoryTheory.Endofunctor.Adjunction.Algebra.homEquiv_naturality_str
theorem Algebra.homEquiv_naturality_str (adj : F ⊣ G) (A₁ A₂ : Algebra F) (f : A₁ ⟶ A₂) :
    (adj.homEquiv A₁.a A₁.a) A₁.str ≫ G.map f.f = f.f ≫ (adj.homEquiv A₂.a A₂.a) A₂.str 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (adj : F ⊣ G) (A₁ A₂ : CategoryTheory.Endofunctor.Algebra F) (f : A₁ ⟶ A₂)
Goal: CategoryTheory.CategoryStruct.comp ((adj.homEquiv A₁.a A₁.a) A₁.str) (G.map f.f) =
  CategoryTheory.CategoryStruct.comp f.f ((adj.homEquiv A₂.a A₂.a) A₂.str)
-- CategoryTheory.Endofunctor.Adjunction.Coalgebra.homEquiv_naturality_str_symm
theorem Coalgebra.homEquiv_naturality_str_symm (adj : F ⊣ G) (V₁ V₂ : Coalgebra G) (f : V₁ ⟶ V₂) :
    F.map f.f ≫ (adj.homEquiv V₂.V V₂.V).symm V₂.str =
    (adj.homEquiv V₁.V V₁.V).symm V₁.str ≫ f.f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C C} (adj : F ⊣ G) (V₁ V₂ : CategoryTheory.Endofunctor.Coalgebra G) (f : V₁ ⟶ V₂)
Goal: CategoryTheory.CategoryStruct.comp (F.map f.f) ((adj.homEquiv V₂.V V₂.V).symm V₂.str) =
  CategoryTheory.CategoryStruct.comp ((adj.homEquiv V₁.V V₁.V).symm V₁.str) f.f
-- RatFunc.zero_def
protected irreducible_def zero : RatFunc K 
Arguments: {K : Type u_1} [CommRing K]
Goal: RatFunc.zero = { toFractionRing := 0 }
-- RatFunc.ofFractionRing_zero
theorem ofFractionRing_zero : (ofFractionRing 0 : RatFunc K) = 0 
Arguments: {K : Type u} [CommRing K]
Goal: { toFractionRing := 0 } = 0
-- RatFunc.add_def
protected irreducible_def add : RatFunc K → RatFunc K → RatFunc K
  
Arguments: {K : Type u_1} [CommRing K]
Goal: ∀ (x x_1 : RatFunc K),
  x.add x_1 =
    match x, x_1 with
    | { toFractionRing := p }, { toFractionRing := q } => { toFractionRing := p + q }
-- RatFunc.ofFractionRing_add
theorem ofFractionRing_add (p q : FractionRing K[X]) :
    ofFractionRing (p + q) = ofFractionRing p + ofFractionRing q 
Arguments: {K : Type u} [CommRing K] (p q : FractionRing K[X])
Goal: { toFractionRing := p + q } = { toFractionRing := p } + { toFractionRing := q }